/ / свързвам с ивица рубин - рубин, ивица

свързва се с ивица рубин - рубин, ивица

казват, че имам

arr = [1,2,3]

Как мога да променя този метод, така че да добавя всеки аргумент към масива?

def add(*number)
arr << *number
end

Така add(4,5,6) произвежда:

arr #=> [1,2,3,4,5,6]

Отговори:

4 за отговор № 1

При приемането на аргументи чрез splat, те ще винаги бъде масив. Така че можете просто да добавите двете масиви заедно.

def add(*numbers)
arr + numbers
end

2 за отговор № 2

употреба concat:

def add(*nums)
arr.concat nums
end

Или +:

def add(*nums)
arr + nums
end

0 за отговор № 3
$arr = [1,2,3]

def add(*number)
$arr.concat number
end

add(4,5,6)

$arr #=> [1,2,3,4,5,6]

Забележка: concat модифицира обекта, върху който работи ($arr). Плюс (+) не.

Както казва Тин Човекът, не искате да използвате глобално, за да направите това. По-добре е просто да го направите

arr.concat [4,5,6]

извън функционалното повикване. По-добре още:

arr += [4,5,6]