Как добавить в smalltalk два массива - PullRequest
1 голос
/ 13 марта 2012

Пришлось изменить это. У меня есть два массива, и я хочу объединить их в один массив.

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

Как мне заставить это работать, пожалуйста? Благодарю.

Ответы [ 4 ]

7 голосов
/ 13 марта 2012

Ваш код работает в Squeak, так в чем же проблема?

anArray := #(1 2 3 4).
anotherArray := #(5 6 7).
anArray, anotherArray "Returns #(1 2 3 4 5 6 7)"
1 голос
/ 17 апреля 2012

если ваш код не запускается, у вас, вероятно, нет объекта Array в "completearray", но вместо этого есть объект, который не отвечает на # (то есть nil не отвечает на #,).

0 голосов
/ 17 апреля 2012

Я не знаю, почему он может не работать в вашей версии VisualWorks, но вы можете попробовать сделать это:

completearray addAll: temparray.

Источник, на всякий случай:

addAll: collection
    ^ collection
        do: [ :element | self add: element];
        yourself
0 голосов
/ 13 марта 2012

вы добавляете символ ($,), но вы должны добавить строку с #, (cancat).попробуй: yourString, ','

...