Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Structクラス

class Struct

クラスの継承リスト: Struct < Enumerable < Object < Kernel

要約

構造体クラス。Struct.new はこのクラスのサブクラスを新たに生成します。

個々の構造体はサブクラスから Struct.new を使って生成します。個々 の構造体サブクラスでは構造体のメンバに対するアクセスメソッドが定義され ています。

特異メソッド

定義 説明
new(*args) -> Class

Struct クラスに新しいサブクラスを作って、それを返します。

new(*args) -> Struct
self[*args] -> Struct

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体オブジェクトを生成して返します。

members -> [String]

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバの名前(String)の配列を返します。

インスタンスメソッド

定義 説明
self == other -> bool

自身と other のクラスが同じであり、各メンバが == メソッドで比較して等しい場合に true を返します。そうでない場合に false を返します。

self[member] -> object

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバの値を返します。

self[member] = value

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体の member で指定されたメンバの値を value にして value を返します。

each {|value| ... } -> self
each -> Enumerable::Enumerator

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体の各メンバに対して繰り返します。

each_pair {|member, value| ... } -> self
each_pair -> Enumerable::Enumerator

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバ名(Symbol)と値の組を引数にブロックを繰り返し実行します。

eql?(other) -> bool

自身と other のクラスが同じであり、各メンバが eql? メソッドで比較して等しい場合に true を返します。そうでない場合に false を返します。

equal?(other) -> bool

指定された other が self 自身である場合のみ真を返します。 これは Object クラスで定義されたデフォルトの動作で す。

hash -> Integer

自身が保持するメンバのハッシュ値を元にして算出した整数を返します。 自身が保持するメンバの値が変化すればこのメソッドが返す値も変化します。

length -> Fixnum
size -> Fixnum

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバの数を返します。

members -> [String]

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバの名前(文字列)の配列を返します。

values -> [object]
to_a -> [object]

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバの値を配列にいれて返します。

values_at(*members) -> [object]

(このメソッドは Struct の下位クラスにのみ定義されています) 引数で指定されたメンバの値の配列を返します。

継承したメソッド

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject reverse_each sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? 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 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? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint

追加されるメソッド

定義 説明 ライブラリ
yaml_tag_class_name -> String

Struct::をのぞいたクラス名を返す

yaml
yaml_tag_read_class(name) -> String

引数nameにStruct::を加えた文字列を返す

yaml