红宝石色的Setters和Getter



如何在ruby中自动为节点类生成setter和getter?我正在使用eclipse

class Node
  def initialize(*args)
    if args.size > 2 or args.size < 1
        raise "initializer needs 0,1 or 2 arguments"    
    elseif args.size == 1
      @data = args[0] 
    else
      @data = args[0]
      @next = args[1]   
    end
  end
  def to_s
  end
end

Ruby惯用的方法是attr_accessor :data, :next(另请参阅"什么是访问器?")

然后,只有当需要自定义行为时,才会添加重载/显式方法实现。Ruby不是Java;不需要向所有内容添加样板代码。

如果希望"无论如何都能看到代码",那么可以向Eclipse添加一个自定义模板。上面的attr_accessor链接解释了这样一个模板应该如何模仿attr_*行为。

最新更新