同Struct可以非常方便的吧属性绑定到类中进行访问:
[code]class DTO < Struct.new(:name,:age); end
dto = DTO.new("melin",23)
puts dto.name
^D
melin[/code]
这样很容易的去实现一个数据传输对象
ruby还提供了一个更加灵活的类OpenStruct。可以动态的去添加属性
[code]require 'ostruct'
flexie = OpenStruct.new(:music => 'rock')
flexie.bands = ['zep', 'sabbath']
flexie.music # => "rock"
flexie.bands.first # => "zep"[/code]
还可以添加block
[code]flexie.hello = Proc.new { puts 'hello world'}
flexie.hello.call # => hello world[/code]
[code]class DTO < Struct.new(:name,:age); end
dto = DTO.new("melin",23)
puts dto.name
^D
melin[/code]
这样很容易的去实现一个数据传输对象
ruby还提供了一个更加灵活的类OpenStruct。可以动态的去添加属性
[code]require 'ostruct'
flexie = OpenStruct.new(:music => 'rock')
flexie.bands = ['zep', 'sabbath']
flexie.music # => "rock"
flexie.bands.first # => "zep"[/code]
还可以添加block
[code]flexie.hello = Proc.new { puts 'hello world'}
flexie.hello.call # => hello world[/code]