I
I
idin2016-01-17 21:22:34
ruby
idin, 2016-01-17 21:22:34

How do variables work in ruby ​​methods?

I can’t understand, and even find the answer to my question, is it possible to assign the value of one variable to another with the help of methods, and so that everything is saved.

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

Answer the question

In order to leave comments, you need to log in

1 answer(s)
_
_ _, 2016-01-17
@Izy

Because arguments are passed by value. Method arguments are local variables, though change.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question