るりまサーチ

最速Rubyリファレンスマニュアル検索!
36件ヒット [1-36件を表示] (0.012秒)
トップページ > クラス:Struct[x] > クエリ:[][x]

別のキーワード

  1. _builtin []
  2. [] _builtin
  3. string []
  4. matrix []
  5. rake []

ライブラリ

キーワード

検索結果

Struct#[](member) -> object (18101.0)

構造体のメンバの値を返します。

...ンバを指定した場合に発生します。

Foo = Struct.new(:foo, :bar)
obj = Foo.new('FOO', 'BAR')
p obj[:foo] # => "FOO"
p obj['bar'] # => "BAR"
# p obj[:baz] # => in `[]': no member 'baz' in struct (NameError)
p obj[0] # => "FOO"
p obj[1]...
...きます。
p obj[2] # => in `[]': offset 2 too large for struct(size:2) (IndexError)

[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に...

Struct.[](*args) -> Struct (18101.0)

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

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

@param args 構造体の初期値を指定します。メンバの初期値は指定されなければ nil です。

@return 構造体クラスのインス...
...タンス。

@raise ArgumentError 構造体のメンバの数よりも多くの引数を指定した場合に発生します。

Foo = Struct.new(:foo, :bar)
foo = Foo.new(1)
p foo.values # => [1, nil]...

Struct#[]=(member, value) (6101.0)

構造体の member で指定されたメンバの値を value にして value を返します。

...で存在しないメンバを指定した場合に発生します。

[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。...

Struct.new(*args) -> Class (3001.0)

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

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

サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。

dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%...
...指定はエラーになります。

p Struct.new('foo', 'bar')
# => -:1:in `new': identifier foo needs to be constant (NameError)

また args[1..-1] は、Symbol か String で指定します。

p Struct.new("Foo", :foo, :bar) # => Struct::Foo

==== 第一引数が Symbol の場合...
...

Foo = Struct.new(:foo, :bar)
p Foo # => Foo

==== ブロックを指定した場合

Struct
.new にブロックを指定した場合は定義した Struct をコンテキストにブ
ロックを評価します。また、定義した Struct はブロック...

Struct.new(*args) -> Struct (3001.0)

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

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

@param args 構造体の初期値を指定します。メンバの初期値は指定されなければ nil です。

@return 構造体クラスのインス...
...タンス。

@raise ArgumentError 構造体のメンバの数よりも多くの引数を指定した場合に発生します。

Foo = Struct.new(:foo, :bar)
foo = Foo.new(1)
p foo.values # => [1, nil]...

絞り込み条件を変える

Struct.new(*args) {|Class| block } -> Class (3001.0)

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

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

サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。

dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%...
...指定はエラーになります。

p Struct.new('foo', 'bar')
# => -:1:in `new': identifier foo needs to be constant (NameError)

また args[1..-1] は、Symbol か String で指定します。

p Struct.new("Foo", :foo, :bar) # => Struct::Foo

==== 第一引数が Symbol の場合...
...

Foo = Struct.new(:foo, :bar)
p Foo # => Foo

==== ブロックを指定した場合

Struct
.new にブロックを指定した場合は定義した Struct をコンテキストにブ
ロックを評価します。また、定義した Struct はブロック...