Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > rinda/rindaライブラリ > Rinda::Templateクラス

class Rinda::Template

クラスの継承リスト: Rinda::Template < Rinda::Tuple < Object < Kernel < BasicObject

要約

タプルのマッチングのためのクラスです。 ユーザがこのクラスを直接使うことはありません。

require 'rinda/rinda'

template = Rinda::Template.new(['abc', nil, nil])
template.match(['abc', 2, 5])   # => true
template.match(['hoge', 2, 5])  # => false

template = Rinda::Template.new([String, Integer, nil])
template.match(['abc', 2, 5])   # => true
template.match(['abcd', 2, 5])  # => true

template = Rinda::Template.new([/^abc/, Integer, nil])
template.match([/^abc/, Integer, nil])  # => true
template.match(['abc', 2, 5])           # => true
template.match(['def', 2, 5])           # => false

template = Rinda::Template.new({'name' => String, 'age' => Integer})
template.match({'name' => 'seki', 'age' => 0x20})   # => true
template.match({'name' => :seki,  'age' => 0x20})   # => false

インスタンスメソッド

定義 説明
self === tuple
match(tuple)

self と tuple のサイズが同じで、 self の各要素が tuple にマッチする場合は真を返します。 マッチングの検査には Rinda::Tuple#==Rinda::Tuple#=== を用います。 nil はワイルドカードです。

継承したメソッド

! != == =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods must_be must_be_close_to must_be_empty must_be_instance_of must_be_kind_of must_be_nil must_be_same_as must_be_within_epsilon must_equal must_include must_match must_raise must_respond_to must_send must_throw nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? respond_to_missing? singleton_class singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style trust untaint untrust untrusted? wont_be wont_be_close_to wont_be_empty wont_be_instance_of wont_be_kind_of wont_be_nil wont_be_same_as wont_be_within_epsilon wont_equal wont_include wont_match wont_respond_to [] each fetch size value .new