別のキーワード
種類
ライブラリ
- ビルトイン (181)
-
fiddle
/ import (24) -
net
/ imap (24) - objspace (12)
- open3 (36)
- openssl (108)
- psych (8)
-
rexml
/ parsers / sax2parser (60) -
rubygems
/ validator (24) - socket (72)
-
webrick
/ httputils (24) -
win32
/ registry (120)
クラス
- BasicObject (12)
- BasicSocket (36)
- Data (27)
-
Gem
:: Validator (24) - IO (24)
- MatchData (12)
-
Net
:: IMAP (24) - Object (12)
-
OpenSSL
:: PKCS7 (60) - Proc (7)
-
REXML
:: Parsers :: SAX2Parser (60) - Regexp (12)
-
Socket
:: AncillaryData (36) -
WEBrick
:: HTTPUtils :: FormData (12) -
Win32
:: Registry (120)
モジュール
-
Fiddle
:: Importer (24) -
GC
:: Profiler (12) - Marshal (24)
- ObjectSpace (12)
- Open3 (36)
- Process (24)
- Psych (8)
キーワード
- << (7)
- ASN1 (12)
- Cipher (12)
- DATA (12)
-
DATA
_ PTR (12) -
Data
_ Get _ Struct (12) -
Data
_ Make _ Struct (12) -
Data
_ Wrap _ Struct (12) - ErrorData (12)
- Extension (12)
- FormData (12)
-
HKEY
_ CLASSES _ ROOT (12) -
HKEY
_ CURRENT _ CONFIG (12) -
HKEY
_ CURRENT _ USER (12) -
HKEY
_ DYN _ DATA (12) -
HKEY
_ LOCAL _ MACHINE (12) -
HKEY
_ PERFORMANCE _ DATA (12) -
HKEY
_ PERFORMANCE _ NLSTEXT (12) -
HKEY
_ PERFORMANCE _ TEXT (12) -
HKEY
_ USERS (12) - MatchData (12)
-
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 2
. 1 . 0 (12) -
NEWS for Ruby 2
. 3 . 0 (10) -
NEWS for Ruby 2
. 4 . 0 (9) -
NEWS for Ruby 2
. 5 . 0 (8) -
NEWS for Ruby 3
. 0 . 0 (5) - PKey (12)
- RDATA (12)
- Ruby用語集 (12)
- [] (6)
- alien (12)
- bind (12)
-
blk
_ free (12) -
blk
_ mark (12) -
blk
_ orphan (12) -
bm
_ mark (12) - capture2 (12)
- capture2e (12)
- capture3 (12)
- csv (12)
- define (6)
- dump (24)
- encrypt (12)
- listen (60)
- match (12)
-
memsize
_ of (12) -
method
_ missing (12) - new (30)
-
raw
_ data (12) -
rb
_ catch (12) -
rb
_ const _ list (12) -
rb
_ data _ object _ alloc (12) -
rb
_ ensure (12) -
rb
_ iterate (12) -
rb
_ mod _ const _ at (12) -
rb
_ mod _ const _ of (12) -
rb
_ protect (12) -
rb
_ rescue (12) -
rb
_ rescue2 (12) -
rb
_ set _ end _ proc (12) -
rb
_ with _ disable _ interrupt (12) - read (12)
- recvmsg (12)
-
recvmsg
_ nonblock (12) -
ruby 1
. 8 . 4 feature (12) -
ruby 1
. 8 . 5 feature (12) -
ruby 1
. 9 feature (12) -
rubygems
/ security (12) -
safe
_ load (8) - seek (12)
- sendmsg (12)
- setrlimit (24)
- sign (12)
- store (12)
- sysseek (12)
-
to
_ h (6) -
trace
_ ev (12) - type (12)
-
uid
_ store (12) -
undef
_ setter (12) - union (12)
-
unix
_ rights (12) -
val
_ setter (12) -
values
_ at (12) - verify (12)
-
webrick
/ cgi (12) - with (3)
-
write
_ smime (12) - yaml (12)
- メソッド呼び出し(super・ブロック付き・yield) (12)
- 制御構造 (12)
検索結果
先頭5件
-
Data (38048.0)
-
「値オブジェクト(value object)」の定義に利用できるクラスです。
...定義に利用できるクラスです。
以下のような特徴があります。
* オブジェクト同士の比較は、型の比較およびメンバの値の比較によって行われます。
* オブジェクトはイミュータブルになります。すなわち、オブジェ......はありません。
Data.define でオブジェクトのクラスを定義できます。定義されたクラスは Data のサブクラスとなります。
Data のサブクラスでは、メンバに対するアクセスメソッドが定義されています。
Data と似たクラスに St......列挙が可能であるなど、
よりコンテナ風の API を提供するクラスです。
//emlist[例][ruby]{
# Dogクラスを定義
Dog = Data.define(:name, :age)
# Dogクラスのインスタンスを作成
fred = Dog.new("Fred", 5)
# メンバにアクセスできる
p fred.name # =>... -
Data
. [](**kwargs) -> Data (21280.0) -
(このメソッドは Data のサブクラスにのみ定義されています) 値オブジェクトを生成して返します。
...(このメソッドは Data のサブクラスにのみ定義されています)
値オブジェクトを生成して返します。
@param args 値オブジェクトのメンバの値を指定します。
@param kwargs 値オブジェクトのメンバの値を指定します。
@return 値オ......aise ArgumentError 値オブジェクトのメンバの数より多くの引数を渡した場合に発生します。
//emlist[例][ruby]{
Point = Data.define(:x, :y)
p1 = Point.new(1, 2)
p p1.x # => 1
p p1.y # => 2
p2 = Point.new(x: 3, y: 4)
p p2.x # => 3
p p2.y # => 4
//}
new......=> #<data Point x=1, y=2>
//}
メンバに存在しない引数を受け取るようにすることもできます。
//emlist[メンバに存在しない引数を受け取る例][ruby]{
Point = Data.define(:x, :y) do
def initialize(x:, y:, multiplier: 1)
super(x: x * multiplier, y: y * mult... -
Data
. [](*args) -> Data (21280.0) -
(このメソッドは Data のサブクラスにのみ定義されています) 値オブジェクトを生成して返します。
...(このメソッドは Data のサブクラスにのみ定義されています)
値オブジェクトを生成して返します。
@param args 値オブジェクトのメンバの値を指定します。
@param kwargs 値オブジェクトのメンバの値を指定します。
@return 値オ......aise ArgumentError 値オブジェクトのメンバの数より多くの引数を渡した場合に発生します。
//emlist[例][ruby]{
Point = Data.define(:x, :y)
p1 = Point.new(1, 2)
p p1.x # => 1
p p1.y # => 2
p2 = Point.new(x: 3, y: 4)
p p2.x # => 3
p p2.y # => 4
//}
new......=> #<data Point x=1, y=2>
//}
メンバに存在しない引数を受け取るようにすることもできます。
//emlist[メンバに存在しない引数を受け取る例][ruby]{
Point = Data.define(:x, :y) do
def initialize(x:, y:, multiplier: 1)
super(x: x * multiplier, y: y * mult... -
Data
. new(**kwargs) -> Data (21280.0) -
(このメソッドは Data のサブクラスにのみ定義されています) 値オブジェクトを生成して返します。
...(このメソッドは Data のサブクラスにのみ定義されています)
値オブジェクトを生成して返します。
@param args 値オブジェクトのメンバの値を指定します。
@param kwargs 値オブジェクトのメンバの値を指定します。
@return 値オ......aise ArgumentError 値オブジェクトのメンバの数より多くの引数を渡した場合に発生します。
//emlist[例][ruby]{
Point = Data.define(:x, :y)
p1 = Point.new(1, 2)
p p1.x # => 1
p p1.y # => 2
p2 = Point.new(x: 3, y: 4)
p p2.x # => 3
p p2.y # => 4
//}
new......=> #<data Point x=1, y=2>
//}
メンバに存在しない引数を受け取るようにすることもできます。
//emlist[メンバに存在しない引数を受け取る例][ruby]{
Point = Data.define(:x, :y) do
def initialize(x:, y:, multiplier: 1)
super(x: x * multiplier, y: y * mult... -
Data
. new(*args) -> Data (21280.0) -
(このメソッドは Data のサブクラスにのみ定義されています) 値オブジェクトを生成して返します。
...(このメソッドは Data のサブクラスにのみ定義されています)
値オブジェクトを生成して返します。
@param args 値オブジェクトのメンバの値を指定します。
@param kwargs 値オブジェクトのメンバの値を指定します。
@return 値オ......aise ArgumentError 値オブジェクトのメンバの数より多くの引数を渡した場合に発生します。
//emlist[例][ruby]{
Point = Data.define(:x, :y)
p1 = Point.new(1, 2)
p p1.x # => 1
p p1.y # => 2
p2 = Point.new(x: 3, y: 4)
p p2.x # => 3
p p2.y # => 4
//}
new......=> #<data Point x=1, y=2>
//}
メンバに存在しない引数を受け取るようにすることもできます。
//emlist[メンバに存在しない引数を受け取る例][ruby]{
Point = Data.define(:x, :y) do
def initialize(x:, y:, multiplier: 1)
super(x: x * multiplier, y: y * mult... -
Data
# with(**kwargs) -> Data (21255.0) -
self をコピーしたオブジェクトを返します。
...場合に発生します。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
dog1 = Dog.new("Fred", 5) # => #<data Dog name="Fred", age=5>
dog2 = dog1.with(age: 6) # => #<data Dog name="Fred", age=6>
p dog1 # => #<data Dog name="Fred", age=5>
dog3 = dog1.with(type: "Terrie......dog1.name.upcase!
p dog1 # => #<data Dog name="FRED", age=5>
p dog2 # => #<data Dog name="FRED", age=6>
//}
[注意] 本メソッドの記述は Data のサブクラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作成する... -
Data
. define(*args) -> Class (21194.0) -
Data クラスに新しいサブクラスを作って、それを返します。
...
Data クラスに新しいサブクラスを作って、それを返します。
サブクラスでは値オブジェクトのメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
p fred.name # =>......ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
fred.age = 6 # => NoMethodError
//}
メンバを持たないサブクラスも定義可能です。
以下のように、パターンマッチに利用できます。
//emlist[例][ruby]{
class HTTPFetcher
Response = Data.define(:bo......dy)
NotFound = Data.define
def get(url)
# ダミーの実装
if url == "http://example.com/"
Response.new(body: "Current time is #{Time.now}")
else
NotFound.new
end
end
end
def fetch(url)
fetcher = HTTPFetcher.new
case fetcher.get(url)
in HTTPFetcher::Respon... -
Data
. define(*args) {|subclass| block } -> Class (21194.0) -
Data クラスに新しいサブクラスを作って、それを返します。
...
Data クラスに新しいサブクラスを作って、それを返します。
サブクラスでは値オブジェクトのメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
p fred.name # =>......ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
fred.age = 6 # => NoMethodError
//}
メンバを持たないサブクラスも定義可能です。
以下のように、パターンマッチに利用できます。
//emlist[例][ruby]{
class HTTPFetcher
Response = Data.define(:bo......dy)
NotFound = Data.define
def get(url)
# ダミーの実装
if url == "http://example.com/"
Response.new(body: "Current time is #{Time.now}")
else
NotFound.new
end
end
end
def fetch(url)
fetcher = HTTPFetcher.new
case fetcher.get(url)
in HTTPFetcher::Respon... -
Data
# to _ h -> Hash (21036.0) -
self のメンバ名(Symbol)と値の組を Hash にして返します。
...self のメンバ名(Symbol)と値の組を Hash にして返します。
//emlist[例][ruby]{
Customer = Data.define(:name, :address, :zip)
Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345).to_h
# => {:name=>"Joe Smith", :address=>"123 Maple, Anytown NC", :zip=>12345}
//}
ブロックを......omer = Data.define(:name, :address, :zip)
Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345).to_h {|member, value|
[member, value*2]
} # => {:name=>"Joe SmithJoe Smith", :address=>"123 Maple, Anytown NC123 Maple, Anytown NC", :zip=>24690}
//}
[注意] 本メソッドの記述は Data の......サブクラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作成する点に
注意してください。... -
Data
# to _ h {|member , value| block } -> Hash (21036.0) -
self のメンバ名(Symbol)と値の組を Hash にして返します。
...self のメンバ名(Symbol)と値の組を Hash にして返します。
//emlist[例][ruby]{
Customer = Data.define(:name, :address, :zip)
Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345).to_h
# => {:name=>"Joe Smith", :address=>"123 Maple, Anytown NC", :zip=>12345}
//}
ブロックを......omer = Data.define(:name, :address, :zip)
Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345).to_h {|member, value|
[member, value*2]
} # => {:name=>"Joe SmithJoe Smith", :address=>"123 Maple, Anytown NC123 Maple, Anytown NC", :zip=>24690}
//}
[注意] 本メソッドの記述は Data の......サブクラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作成する点に
注意してください。... -
VALUE rb
_ data _ object _ alloc(VALUE klass , void *datap , RUBY _ DATA _ FUNC dmark , RUBY _ DATA _ FUNC dfree) (6500.0) -
datap をラップするオブジェクトを生成し、返します。 そのクラスは klass となり、datap をマークするときは dmark、解放するときは dfree を使うようになります。
...
datap をラップするオブジェクトを生成し、返します。
そのクラスは klass となり、datap をマークするときは
dmark、解放するときは dfree を使うようになります。... -
VALUE Data
_ Make _ Struct(VALUE klass , type , RUBY _ DATA _ FUNC mark , RUBY _ DATA _ FUNC free , type *svar) (6436.0) -
type 型の構造体をヒープに割り当ててそれへのポインタを svar に代入し、クラス klass のインスタンスである Ruby のオブジェクトを生成し、それを返します。mark free はそれぞれマーク用・解放用の関数へのポインタです。 どちらも、必要ないときはかわりに 0 を渡します。
...わりに 0 を渡します。
また RUBY_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 mytype *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) (6436.0) -
C の構造体 sval をラップして klass クラスの インスタンスである Ruby オブジェクトを生成し、それを返します。 mark、free はそれぞれ sval のマーク用・解放用の 関数へのポインタです。どちらも、必要ないときはかわりに 0 を渡します。
...Y_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);
}... -
struct RData * RDATA(VALUE obj) (6300.0)
-
-
Object
:: DATA -> File (6227.0) -
スクリプトの __END__ プログラムの終り以降をアクセスする File オブジェクト。
...んでおくことができます。
DATA 定数はそのデータ部分にアクセスするための File オブジェクトを保持しています。
__END__ を含まないプログラムにおいては DATA は定義されません。
=== 注意
* DATA.rewind で移動する読みとり......頭です。
* スクリプトが標準入力から読みこまれた場合は標準入力になります。
* スクリプトがファイルや標準入力から読みこまれなかった場合や、
__END__ で終っていない場合には定義されません。
* Kernel.#requ......ファイル ($0) を指します。
=== 例1
print DATA.gets # => 故人西辞黄鶴楼
print DATA.gets # => 烟花三月下揚州
print DATA.gets # => 孤帆遠影碧空尽
print DATA.gets # => 唯見長江天際流
DATA.gets # => nil
__END__
故人西辞黄... -
void Data
_ Get _ Struct(VALUE obj , type , type *svar) (6218.0) -
Ruby のオブジェクト obj から type 型へのポインタを とりだし svar に代入します。
...j から type 型へのポインタを
とりだし svar に代入します。
使用例
struct mytype {
int i;
char *s;
};
VALUE
my_i(VALUE self)
{
struct mytype *m;
Data_Get_Struct(self, struct mytype, m);
return INT2NUM(m->i);
}...