代码之家  ›  专栏  ›  技术社区  ›  John Topley

红宝石中的别名attr_reader

  •  3
  • John Topley  · 技术社区  · 15 年前

    是否可以将 attr_reader Ruby中的方法?我和一个 favourites 要别名的属性 favorites 对于美国用户。惯用的Ruby方法是什么?

    2 回复  |  直到 15 年前
        1
  •  6
  •   levinalex    15 年前

    ATTR阅读器只生成适当的实例方法。这是:

    class Foo
      attr_reader :bar
    end
    

    与以下内容相同:

    class Foo
      def bar
        @bar
      end
    end
    

    因此,Alias_方法的工作方式与您预期的一样:

    class Foo
      attr_reader :favourites
      alias_method :favorites, :favourites
    
      # and if you also need to provide writers
      attr_writer :favourites
      alias_method :favorites=, :favourites=
    end
    
        2
  •  13
  •   Peter Cooper    15 年前

    是的,您可以只使用别名方法。一个非常古怪的例子:

    class X
      attr_accessor :favourites
      alias :favorites :favourites
    end
    
    推荐文章