Ruby:我应该如何访问类中的实例变量?
发布时间:2020-12-17 02:25:08 所属栏目:百科 来源:网络整理
导读:在 ruby中,您可以通过@var_name或私有getter attr_reader:var_name直接在内部访问变量. 哪种解决方案更多(语义上?)正确?使用溶液1或溶液2的任何优点/缺点? 解决方案1: class Point def initialize(x,y) @x = x @y = y end def distance Math.sqrt(@x **
在
ruby中,您可以通过@var_name或私有getter attr_reader:var_name直接在内部访问变量.
哪种解决方案更多(语义上?)正确?使用溶液1或溶液2的任何优点/缺点? 解决方案1: class Point def initialize(x,y) @x = x @y = y end def distance Math.sqrt(@x ** 2 + @y ** 2) end end 解决方案2: class Point def initialize(x,y) @x = x @y = y end def distance Math.sqrt(x ** 2 + y ** 2) end private attr_reader :x,:y end 解决方法
我会使用第二个选项:
class Point def initialize(x,:y end 有两个原因: > attr_reader可能是faster(正如Filip Bartuzi已经指出的那样)>使用attr_reader可以通过使用自定义getter方法替换attr_reader来更轻松地重构该类. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |