173件ヒット
[1-100件を表示]
(0.033秒)
種類
- 文書 (56)
- 特異メソッド (42)
- インスタンスメソッド (39)
- モジュール関数 (24)
- 関数 (12)
ライブラリ
- ビルトイン (93)
-
rake
/ packagetask (12)
クラス
- Data (21)
- Module (24)
-
Rake
:: PackageTask (12)
モジュール
- ObjectSpace (24)
オブジェクト
- main (24)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) -
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 2
. 1 . 0 (12) -
NEWS for Ruby 2
. 5 . 0 (8) - [] (6)
-
define
_ finalizer (24) -
define
_ method (48) - new (6)
-
rb
_ define _ class _ under (12) -
ruby 1
. 6 feature (12) - with (3)
検索結果
先頭5件
-
Data
. define(*args) -> Class (18150.0) -
Data クラスに新しいサブクラスを作って、それを返します。
...れています。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
p fred.name # => "Fred"
p fred.age # => 5
//}
メンバの値を書き換えることはできません。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
fred.age = 6 #......。
以下のように、パターンマッチに利用できます。
//emlist[例][ruby]{
class HTTPFetcher
Response = Data.define(:body)
NotFound = Data.define
def get(url)
# ダミーの実装
if url == "http://example.com/"
Response.new(body: "Current time is #{Time.now}")......ata のサブクラスを返します。
@raise TypeError 引数に Symbol, String (String に暗黙の型変換が行われるオブジェクトを含む) 以外を指定した場合に発生します。
=== ブロックを指定した場合
Data.define にブロックを指定した場合は定... -
Data
. define(*args) {|subclass| block } -> Class (18150.0) -
Data クラスに新しいサブクラスを作って、それを返します。
...れています。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
p fred.name # => "Fred"
p fred.age # => 5
//}
メンバの値を書き換えることはできません。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
fred.age = 6 #......。
以下のように、パターンマッチに利用できます。
//emlist[例][ruby]{
class HTTPFetcher
Response = Data.define(:body)
NotFound = Data.define
def get(url)
# ダミーの実装
if url == "http://example.com/"
Response.new(body: "Current time is #{Time.now}")......ata のサブクラスを返します。
@raise TypeError 引数に Symbol, String (String に暗黙の型変換が行われるオブジェクトを含む) 以外を指定した場合に発生します。
=== ブロックを指定した場合
Data.define にブロックを指定した場合は定... -
Rake
:: PackageTask # define -> self (18107.0) -
タスクを定義します。
...タスクを定義します。
@raise RuntimeError バージョン情報をセットしていない場合に発生します。
初期化時に :noversion が指定されている場合は発生しません。... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (6138.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...j の ID を引数として実行されます。
=== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
end
Foo.new
GC.start
//}
これは、......避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
end
Bar.new
GC.start
//}
proc の呼び出しで発生した大域脱出(exitや例外)は無視されます......おいた方が良いでしょう。
//emlist[例][ruby]{
class Baz
def initialize
ObjectSpace.define_finalizer self, eval(%q{
proc {
raise "baz" rescue puts $!
raise "baz2"
puts "baz3"
}
}, TOPLEVEL_BINDING)
end
end
Baz.new
GC.start
# => baz
//}
@s... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (6138.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...j の ID を引数として実行されます。
=== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
end
Foo.new
GC.start
//}
これは、......避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
end
Bar.new
GC.start
//}
proc の呼び出しで発生した大域脱出(exitや例外)は無視されます......おいた方が良いでしょう。
//emlist[例][ruby]{
class Baz
def initialize
ObjectSpace.define_finalizer self, eval(%q{
proc {
raise "baz" rescue puts $!
raise "baz2"
puts "baz3"
}
}, TOPLEVEL_BINDING)
end
end
Baz.new
GC.start
# => baz
//}
@s... -
Module
# define _ method(name) { . . . } -> Symbol (6114.0) -
インスタンスメソッド name を定義します。
...を表す Symbol を返します。
@raise TypeError method に同じクラス、サブクラス、モジュール以外のメソッ
ドを指定した場合に発生します。
//emlist[例][ruby]{
class Foo
def foo() p :foo end
define_method(:bar, instance_method(:foo))
end... -
Module
# define _ method(name , method) -> Symbol (6114.0) -
インスタンスメソッド name を定義します。
...を表す Symbol を返します。
@raise TypeError method に同じクラス、サブクラス、モジュール以外のメソッ
ドを指定した場合に発生します。
//emlist[例][ruby]{
class Foo
def foo() p :foo end
define_method(:bar, instance_method(:foo))
end... -
main
. define _ method(name) { . . . } -> Symbol (6114.0) -
インスタンスメソッド name を Object に定義します。
...いずれかのインスタンスを指定します。
@return メソッド名を表す Symbol を返します。
@raise TypeError method に同じクラス、サブクラス以外のメソッドを指定し
た場合に発生します。
@see Module#define_method... -
main
. define _ method(name , method) -> Symbol (6114.0) -
インスタンスメソッド name を Object に定義します。
...いずれかのインスタンスを指定します。
@return メソッド名を表す Symbol を返します。
@raise TypeError method に同じクラス、サブクラス以外のメソッドを指定し
た場合に発生します。
@see Module#define_method... -
VALUE rb
_ define _ class _ under(VALUE outer , const char *name , VALUE super) (6112.0) -
super のサブクラスとして新しい Ruby クラスを、outer の定数として定義し て返します。
...のクラス。NULL を指定した場合は Object クラス
@raise TypeError 引数 name と同じ名前の定数が既に存在し、それが
Class オブジェクトではない場合に発生します。
@raise TypeError 定義済みのクラスと継承元のクラスが一...