Ruby Struct
712 ワード
Structと非常に便利なプロパティをクラスにバインドしてアクセスできます.
これにより、データ転送オブジェクトを容易に実現できます.
rubyはまた、より柔軟なクラスOpenStructを提供しています.プロパティを動的に追加できます
blockを追加することもできます
class DTO < Struct.new(:name,:age); end
dto = DTO.new("melin",23)
puts dto.name
^D
melin
これにより、データ転送オブジェクトを容易に実現できます.
rubyはまた、より柔軟なクラスOpenStructを提供しています.プロパティを動的に追加できます
require 'ostruct'
flexie = OpenStruct.new(:music => 'rock')
flexie.bands = ['zep', 'sabbath']
flexie.music # => "rock"
flexie.bands.first # => "zep"
blockを追加することもできます
flexie.hello = Proc.new { puts 'hello world'}
flexie.hello.call # => hello world