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
  • Вопрос задан
  • 194 просмотра
Решения вопроса 1
AMar4enko
@AMar4enko
Потому что аргументы передаются по значению. Аргументы метода это локальные переменные, хоть заизменяйтесь.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы