Ruby中的attr_*
Java中有get和set用来对变量进行赋值和读取。
在ruby中:
读取用:
def name @name end
赋值用:
def name=(myname) @name=myname end
可以使用attr_reader和attr_writer,或者attr_accessor来代替。
例如上面两部分代码可以只用下列一行代码表示
attr_accessor :name
其中attr_*是ruby的内建方法,读取并返回与方法名同名(要多一个@标志)的实例的变量。
综上,Ruby是DRY的代表。当你觉得重复地使用代码时你就和ruby的设计思想偏离了……