2016-09-13 3 views

ответ

0

И код будет только вернет вам значение new_title

ниже код будет просто вернуть вам стоимость new_title

def replace_title(new_title) 
    new_title 
end 

В то время как этот код будет просто присвоить атрибут title с new_title и будет вернуть значение title, которое совпадает с значением new_title

def replace_title(new_title) 
    self.title = new_title 
end 

Но помните, что это не будет сохранять значение объекта, как вы не зовете:

self.save 
# or 
save 

Как только вы вышли из действия значения будет сброшено к предыдущему значению title.

0

С определением:

def replace_title(new_title) 
    new_title 
end 

replace_title("abc") возвращается "abc".

С определением:

def replace_title(new_title) 
    self.title = new_title 
end 

replace_title("abc") эквивалентно title=("abc") (потому что self.title = new_title эквивалентно title=(new_title)). Предполагая, что title= определяется как:

def title=(new_title) 
    @title = new_title 
end 

затем возвращается replace_title("abc")"abc", но также устанавливает переменную экземпляра @title к "abc".

 Смежные вопросы

  • Нет связанных вопросов^_^