Я только начал изучать Ruby и столкнулся с этими двумя функциями:
def increase(n)
n = n + 1
return n
end
def add_element(array, item)
array << item
end
Когда я попытался увеличить (n) с n = 5
c = 5
p10.increase(c)
print("c is #{c}\n")
print("c.class is #{c.class}\n")
--> c is 5
--> c.class is Fixnum
Значение c не меняетсяпосле увеличения внутри увеличения (n)
Когда я пытался изменить содержимое массива arr = [1,2,3,4] с помощью add_element, arr действительно меняется.
arr = [1, 2, 3, 4]
p10.add_element(arr, 5)
print("array is #{arr}\n")
--> array is [1, 2, 3, 4, 5]
Так что, если все в Ruby является объектом, почему arr меняет свое значение, а c (объект Fixnum) не меняет своего значения?
Ваша мысль приветствуется.:) Спасибо