Equal sign in Ruby method definition
本问题已经有最佳答案,请猛点这里访问。
我遇到了以下方法定义,想知道第一个和第二个定义的区别。
定义中第一个没有等号:
| 1 2 3 |  def name display_name(:name) end | 
这一秒有等号:
| 1 2 3 4 5 6 7 8 9 10 11 12 |  def name=(new_name) if! self[:real_name] self[:real_name] = new_name gera_name_exhibition else if new_name.is_a? Hash self[:name] = new_name.sort.map {| b | b [1]} .join ('') else self[:name] = new_name end end end | 
第一个是声明 
这是一个例子:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | class GSExample def name @name end def name=(val) @name = val end end e = GSExample.new puts e.name # => nil e.name = 'dave' puts e.name # => dave | 
在上面你可以看到 
通常是吸气剂