Задать вопрос
Izy
@Izy
Учу

Как работают переменные в методах у ruby?

не могу понять , да и найти ответ на свой вопрос , можно ли в руби с помощью методов присвоить значение одной переменной к другой, и чтоб все сохранилось.
class Cnn
	def initialize # создаем  тут свойства обекта
		@a=0
		@b="красный"
	end

	def view     #открываем переменные
	             # класса для исключительнодля того чтобы посмотреть результат
		puts @a
	end

	def view2
		puts @b
	end

	def go(s,z) # производим замену  цифр
    s.izmena
    z=s
    z.view
    end


    def event
    	@b="fsdfas"
    end


	def izmena
		@a=1
	end

end

s=Cnn.new
z=Cnn.new

z.view

z.go(s,z)
z.view        #почему здесь @а не меняется


z.event
z.view2 
s.view2

a=nil
w=111
def ww(w,a)
     a=w+111     
	
	
end
ww(w,a)
puts a   # почему тут тоже не меняется значения
puts w
  • Вопрос задан
  • 195 просмотров
Подписаться 1 Оценить 2 комментария
Решения вопроса 1
AMar4enko
@AMar4enko
Потому что аргументы передаются по значению. Аргументы метода это локальные переменные, хоть заизменяйтесь.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы