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

class Struct

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

要約

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

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

特異メソッド

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

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

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

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

members -> [Symbol]

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

インスタンスメソッド

定義 説明
self == other -> bool

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

self[member] -> object

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

self[member] = value

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

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

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

each_pair {|member, value| ... } -> self
each_pair -> 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? chunk collect collect_concat count cycle detect drop drop_while each_cons each_entry each_slice each_with_index each_with_object 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 slice_before 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 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_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

追加されるメソッド

定義 説明 ライブラリ
json_create(hash) -> Struct

JSON のオブジェクトから Ruby のオブジェクトを生成して返します。

json/add/core
to_json(*args) -> String

自身を JSON 形式の文字列に変換して返します。

json/add/core
yaml_tag_class_name -> String

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

yaml
yaml_tag_read_class(name) -> String

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

yaml