るりまサーチ

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

別のキーワード

  1. openssl new
  2. _builtin new
  3. rexml/document new
  4. resolv new
  5. socket new

検索結果

<< 1 2 > >>

Data (38060.0)

「値オブジェクト(value object)」の定義に利用できるクラスです。

...せん。

Data
.define でオブジェクトのクラスを定義できます。定義されたクラスは Data のサブクラスとなります。
Data
のサブクラスでは、メンバに対するアクセスメソッドが定義されています。

Data
と似たクラスに Struct があ...
...ります。Struct はメンバの書き換えや列挙が可能であるなど、
よりコンテナ風の API を提供するクラスです。

//emlist[例][ruby]{
# Dogクラスを定義
Dog = Data.define(:name, :age)

# Dogクラスのインスタンスを作成
fred = Dog.new("Fred", 5)

#...
...fred.name # => "Fred"

# キーワード引数でも構築できる
p Dog.new(name: "Terry", age: 3)

# メンバの値を書き換えることはできない
fred.age = 6 # => NoMethodError
//}

なお、Ruby 2.7 以前に存在し Ruby 3.0 で削除された Data クラスとは異なります。...

Data#deconstruct -> array (27142.0)

self のメンバの値を配列で返します。

...by]{
Measure = Data.define(:amount, :unit)

distance = Measure.new(10, 'km')
distance.deconstruct # => [10, "km"]
//}

このメソッドは以下のようにパターンマッチで利用されます。

//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)
distance = Measure.new(10, 'km')

ca...
...se distance
in n, 'km' # 裏側で #deconstruct を呼ぶ
puts "It is #{n} kilometers away"
else
puts "Don't know how to handle it"
end
# "It is 10 kilometers away" が表示される

# 以下のようにも書ける
case distance
in Measure(n, 'km')
puts "It is #{n} kilometers away"
# ...
en...
...d
//}

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

Data#deconstruct_keys(array_of_names_or_nil) -> hash (27142.0)

self のメンバの名前と値の組を Hash で返します。

...前と値の組を Hash で返します。

//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)

distance = Measure.new(10, 'km')
distance.deconstruct_keys(nil) # => {:amount=>10, :unit=>"km"}
distance.deconstruct_keys([:amount]) # => {:amount=>10}
//}

このメソッドは以下のよ...
...うにパターンマッチで利用されます。

//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)
distance = Measure.new(10, 'km')

case distance
in amount:, unit: 'km' # 裏側で #deconstruct_keys を呼ぶ
puts "It is #{amount} kilometers away"
else
puts "Don't know how to handl...
...定します。nil の場合は全てのメンバを意味します。

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

NEWS for Ruby 3.0.0 (26114.0)

NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...NEWS for Ruby 3.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス...
...*
* Can be sliced with Enumerator::ArithmeticSequence

//emlist[][ruby]{
dirty_data = ['--', 'data1', '--', 'data2', '--', 'data3']
dirty_data[(1..).step(2)] # take each second element
# => ["data1", "data2", "data3"]
//}

* Binding
* Binding#eval when called with one argument will use `"(...
...t.
* OpenStruct
* Initialization is no longer lazy. 12136
* Builtin methods can now be overridden safely. 15409
* Implementation uses only methods ending with `!`.
* Ractor compatible.
* Improved support for YAML. 8382
* Use officially discouraged. Read OpenStruct@Caveats s...

NEWS for Ruby 2.5.0 (26084.0)

NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...NEWS for Ruby 2.5.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス...
...になりました 13812

=== 組み込みクラスの更新

* Array
* Array#append を追加 12746
* Array#prepend を追加 12746

* Data
* 非推奨になりました。C拡張のベースクラスでしたが、Rubyレベルに公開するのをやめました。3072

* Except...
...ポート https://github.com/k-takata/Onigmo/issues/82
* Support new 5 emoji-related Unicode character properties

* RubyVM::InstructionSequence
* RubyVM::InstructionSequence#each_child を追加
* RubyVM::InstructionSequence#trace_points を追加

* String
* String#-@ はフ...

絞り込み条件を変える

NEWS for Ruby 2.0.0 (26078.0)

NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...NEWS for Ruby 2.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス...
...を導入しました。期待しないスタックオーバーフローを避けるためです

* GC::Profiler
* 追加: GC::Profiler.raw_data GCの加工していないプロファイルデータを返します

* Hash
* 追加: Hash#to_h 明示的に変換するメソッドです。A...
...M::InstructionSequence.of to get the instruction sequence
from a method or a block.
* 追加: RubyVM::InstructionSequence#path,
RubyVM::InstructionSequence#absolute_path,
RubyVM::InstructionSequence#label,
RubyVM::InstructionSequence#base_label,
RubyVM::InstructionS...

NEWS for Ruby 2.3.0 (26048.0)

NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...NEWS for Ruby 2.3.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス...
...eue#close(Thread::Queue#close) を追加
10600

* Regexp/String: Unicode のバージョンを 7.0.0 から 8.0.0 に更新

* RubyVM::InstructionSequence
* 実験的な機能としてiseqローダー用の低レベルな操作をするメソッドをいくつか追加
使用例...
...起こすことができます。
11788
* RubyVM::InstructionSequence#to_binary(extra_data = nil)
* RubyVM::InstructionSequence.load_from_binary(binary)
* RubyVM::InstructionSequence.load_from_binary_extra_data(binary)

* String
* フリーズされていない文字列...

ruby 1.9 feature (23486.0)

ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。

...* [regexp]: 正規表現の機能拡張
* [marshal]: Marshal ファイルのフォーマット変更
* レベル
* [bug]: バグ修正
* [new]: 追加されたクラス/メソッドなど
* [compat]: 変更されたクラス/メソッドなど(互換性のある変更) (only backward-...
...?)
* [obsolete]: 廃止された(される予定の)機能
* [platform]: 対応プラットフォームの追加

== 1.9.0

=== 2006-09-16

: Struct#inspect

=== 2006-09-14

: digest.rb
: Digest::Base.file

=== 2006-09-13

: Hash#compare_by_identity
: Hash#compare_by_identity?
: Hash#identical...
...>))

((<URL:http://eigenclass.org/hiki.rb?Changes+in+Ruby+1.9+update+4>))

=== 2006-05-22

: accept

((<ruby-core:7917>))

=== 2006-03-21

: MatchData#[] [compat]

名前による参照
((<ruby-dev:28446>))

=== 2006-03-03

: FileUtils.cp_r [lib] [compat]

remove_destination オプション...

VALUE Data_Make_Struct(VALUE klass, type, RUBY_DATA_FUNC mark, RUBY_DATA_FUNC free, type *svar) (12448.0)

type 型の構造体をヒープに割り当ててそれへのポインタを svar に代入し、クラス klass のインスタンスである Ruby のオブジェクトを生成し、それを返します。mark free はそれぞれマーク用・解放用の関数へのポインタです。 どちらも、必要ないときはかわりに 0 を渡します。

...UBY_DATA_FUNC の定義は以下のようです。

typedef void (*RUBY_DATA_FUNC)(void *st)

第一引数 st には svar の値が渡されます。

使用例

struct
mytype {
int i;
char *s;
};

VALUE
my_s_new(klass)
VALUE klass;
{
struct
my...
...type *dummy;
return Data_Make_Struct(MyClass, struct mytype,
mark_my, free_my, dummy);
}...

VALUE Data_Wrap_Struct(VALUE klass, RUBY_DATA_FUNC mark, RUBY_DATA_FUNC free, void *sval) (12448.0)

C の構造体 sval をラップして klass クラスの インスタンスである Ruby オブジェクトを生成し、それを返します。 mark、free はそれぞれ sval のマーク用・解放用の 関数へのポインタです。どちらも、必要ないときはかわりに 0 を渡します。

...RUBY_DATA_FUNC の定義は以下のようです。

typedef void (*RUBY_DATA_FUNC)(void *st)

第一引数 st には sval が渡されます。

使用例

struct
mytype {
int i;
char *s;
};

VALUE
my_s_new(klass)
VALUE klass;
{
struct
mytype...
...*m = malloc(sizeof(struct mytype));
m->i = 0;
m->s = 0;
return Data_Wrap_Struct(MyClass, 0, free_my, m);
}...

絞り込み条件を変える

OpenStruct#to_h -> { Symbol => object } (3024.0)

self を各要素の名前をキー(Symbol)、要素が値のハッシュに変換して返 します。

...結果をペアとして使います。

//emlist[例][ruby]{
require 'ostruct'
data
= OpenStruct.new("country" => "Australia", :capital => "Canberra")
data
.to_h # => {:country => "Australia", :capital => "Canberra" }
data
.to_h {|name, value| [name.to_s, value.upcase] }
# => {"country"...

OpenStruct#to_h {|name, value| block } -> Hash (3024.0)

self を各要素の名前をキー(Symbol)、要素が値のハッシュに変換して返 します。

...結果をペアとして使います。

//emlist[例][ruby]{
require 'ostruct'
data
= OpenStruct.new("country" => "Australia", :capital => "Canberra")
data
.to_h # => {:country => "Australia", :capital => "Canberra" }
data
.to_h {|name, value| [name.to_s, value.upcase] }
# => {"country"...

OpenStruct#each_pair -> Enumerator (3018.0)

self の各要素の名前と要素を引数としてブロックを評価します。

...ックを評価します。

ブロックを指定した場合は self を返します。そうでない場合は
Enumerator を返します。

例:

require 'ostruct'
data
= OpenStruct.new("country" => "Australia", :population => 20_000_000)
data
.each_pair.to_a # => population, 20000000...

OpenStruct#each_pair { |key, value| } -> self (3018.0)

self の各要素の名前と要素を引数としてブロックを評価します。

...ックを評価します。

ブロックを指定した場合は self を返します。そうでない場合は
Enumerator を返します。

例:

require 'ostruct'
data
= OpenStruct.new("country" => "Australia", :population => 20_000_000)
data
.each_pair.to_a # => population, 20000000...
<< 1 2 > >>