Ruby类vs Struct
我已经看到使用Structs的代码库来包装一个类中的属性和行为.
Ruby Class和Struct之间有什么区别?何时应该使用另一个? 解决方法
从
Struct docs:
所以,如果我想要一个Person类,我可以访问一个name属性(读写),我可以通过声明一个类: class Person attr_accessor :name def initalize(name) @name = name end end 或使用Struct Person = Struct.new(:name) 在这两种情况下,我可以运行以下代码: person = Person.new person.name = "Name" #or Person.new("Name") puts person.name 使用时? 如描述所述,当我们需要一组可访问的属性而不必编写一个显式类时,我们使用Structs. 例如,我想要一个点变量来保存X和Y值: point = Struct.new(:x,:y).new(20,30) point.x #=> 20 更多的例子: > http://blog.steveklabnik.com/posts/2012-09-01-random-ruby-tricks–struct-new (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |