【问题标题】:How to, in smalltalk,append two arrays如何在smalltalk中附加两个数组
【发布时间】:2012-03-13 16:37:21
【问题描述】:

不得不改变这一点。我有两个数组,我想基本上将它们连接成一个数组。

 completearray:= completearray, temparray."concatenate the new array to the existing one"

请问我如何使这个工作?谢谢。

【问题讨论】:

    标签: smalltalk squeak visualworks


    【解决方案1】:

    您的代码在 Squeak 中运行,那么问题是什么?

    anArray := #(1 2 3 4).
    anotherArray := #(5 6 7).
    anArray, anotherArray "Returns #(1 2 3 4 5 6 7)"
    

    【讨论】:

    • 这在我的代码所在的 VisualWorks 中不起作用。
    • 哦,好的。您标记了问题 Squeak。
    • 这在 VisualWorks 或任何其他 Smalltalk 中都可以正常工作。
    【解决方案2】:

    如果您的代码没有运行,您可能在“completearray”中没有 Array 对象,而是有一个不响应 #, 的对象(即 nil 不响应 #,)。

    【讨论】:

      【解决方案3】:

      您正在添加一个字符 ($,),但您必须添加一个带有 #, (cancat) 的字符串。 试试:你的字符串,','

      【讨论】:

        【解决方案4】:

        我不知道,为什么它在您的 VisualWorks 版本中可能不起作用,但您可以尝试这样做:

        completearray addAll: temparray.

        来源,以防万一:

        addAll: collection
            ^ collection
                do: [ :element | self add: element];
                yourself
        

        【讨论】:

          猜你喜欢
          • 2015-04-09
          • 2011-08-14
          • 2012-01-03
          • 2021-05-22
          • 1970-01-01
          • 1970-01-01
          • 2020-01-06
          • 2020-11-25
          • 2017-06-08
          相关资源
          最近更新 更多