ライブラリ
- ビルトイン (996)
- benchmark (22)
- dbm (11)
- gdbm (11)
-
io
/ console (33) -
io
/ nonblock (11) -
irb
/ cmd / chws (22) -
irb
/ cmd / subirb (33) -
irb
/ context (11) -
irb
/ frame (11) -
irb
/ output-method (44) - json (33)
- kconv (44)
- matrix (44)
-
mutex
_ m (22) - optparse (11)
- ostruct (9)
- pathname (11)
- pp (22)
- prettyprint (11)
- prime (11)
-
rdoc
/ code _ object (44) -
rexml
/ document (22) - sdbm (11)
- set (22)
-
shell
/ filter (6) - stringio (11)
-
webrick
/ server (11) - win32ole (22)
- zlib (11)
クラス
- Array (97)
- BasicObject (77)
-
Benchmark
:: Job (22) - Binding (21)
- DBM (11)
-
Enumerator
:: Chain (6) -
Enumerator
:: Lazy (11) - Fiber (26)
- FrozenError (5)
- GDBM (11)
- Hash (86)
- IO (77)
-
IRB
:: Context (11) -
IRB
:: ExtendCommand :: ChangeWorkspace (11) -
IRB
:: ExtendCommand :: CurrentWorkingWorkspace (11) -
IRB
:: ExtendCommand :: Foreground (11) -
IRB
:: ExtendCommand :: IrbCommand (11) -
IRB
:: ExtendCommand :: Kill (11) -
IRB
:: Frame (11) -
IRB
:: OutputMethod (44) - Integer (15)
-
JSON
:: State (22) - Matrix (44)
- Module (22)
- Mutex (2)
- NameError (9)
- Numeric (22)
- Object (197)
- OpenStruct (9)
- Pathname (11)
- PrettyPrint (11)
-
Prime
:: PseudoPrimeGenerator (11) -
RDoc
:: CodeObject (44) -
REXML
:: Attribute (11) -
REXML
:: Parent (11) - Random (22)
- Range (12)
-
RubyVM
:: InstructionSequence (11) - SDBM (11)
- Set (22)
-
Shell
:: Filter (6) - String (110)
- StringIO (11)
- Struct (9)
- Thread (22)
-
Thread
:: Mutex (9) - TracePoint (33)
- UnboundMethod (21)
-
WEBrick
:: GenericServer (11) -
WIN32OLE
_ VARIANT (22) -
Zlib
:: GzipWriter (11)
モジュール
- Comparable (8)
- Enumerable (143)
- JSON (11)
-
Mutex
_ m (22) - ObjectSpace (33)
-
OptionParser
:: Arguable (11)
キーワード
- ! (11)
- != (11)
- << (22)
- <=> (11)
- == (11)
-
Data
_ Get _ Struct (11) - Ruby用語集 (11)
- [] (37)
- []= (11)
-
_ dump (11) - bind (11)
-
bind
_ call (10) - bsearch (22)
-
chunk
_ while (11) - clamp (8)
-
class
_ eval (11) - column (22)
- configure (11)
- conj (11)
- conjugate (11)
- cooked (11)
-
create
_ id (11) - default (22)
-
define
_ finalizer (22) -
define
_ singleton _ method (22) - dig (36)
- disable (11)
- disjoint? (11)
- display (11)
-
document
_ children (11) -
document
_ children= (11) - each (11)
- enable (11)
- encode (33)
- entries (6)
-
enum
_ for (22) - equal? (11)
- eval (22)
- execute (55)
- flush (11)
- group (11)
- hash (11)
-
initialize
_ copy (11) - inject (33)
-
instance
_ eval (22) -
instance
_ exec (11) - isjis (11)
- issjis (11)
- item (11)
- itself (11)
- join (22)
- ljust (11)
- main (11)
- match (11)
-
max
_ by (11) - merge (11)
-
module
_ eval (11) -
mu
_ synchronize (11) - new (11)
- noecho (11)
- nonblock (11)
- open (11)
-
parent
_ file _ name (11) -
parent
_ name (11) - pp (11)
- ppx (11)
-
pretty
_ inspect (11) -
pretty
_ print (11) - printn (11)
- putc (11)
- puts (22)
- raise (15)
- rand (22)
- raw (11)
-
rb
_ f _ require (11) -
rb
_ obj _ instance _ eval (11) -
rdoc
/ generator / json _ index (11) - receiver (24)
- reduce (33)
- reject (22)
- reject! (88)
- report (11)
- resume (11)
- rewind (6)
- rjust (11)
-
ruby 1
. 6 feature (11) - sample (22)
- sender (11)
- shift (11)
-
singleton
_ methods (11) -
slice
_ when (11) -
sort
_ by (11) - sum (22)
- synchronize (22)
- t (11)
- taint (9)
-
to
_ a (6) -
to
_ enum (22) - tojis (11)
- tosjis (11)
- transact (6)
- transpose (11)
-
undefine
_ finalizer (11) - unshift (22)
- untaint (9)
- write (11)
-
yield
_ self (14) - zip (22)
- 制御構造 (11)
検索結果
先頭5件
-
TracePoint
# self -> object (21213.0) -
イベントを発生させたオブジェクトを返します。
...イベントを発生させたオブジェクトを返します。
以下のようにする事で同じ値を取得できます。
//emlist[例][ruby]{
trace.binding.eval('self')
//}
@see TracePoint#binding......返します。
以下のようにする事で同じ値を取得できます。
なお、self メソッドは binding が nil になる :c_call および :c_return イベントに対しても正しく動作します。
//emlist[例][ruby]{
trace.binding.eval('self')
//}
@see TracePoint#binding... -
Object
# yield _ self {|x| . . . } -> object (15354.0) -
self を引数としてブロックを評価し、ブロックの結果を返します。
...
self を引数としてブロックを評価し、ブロックの結果を返します。
//emlist[例][ruby]{
"my string".yield_self {|s| s.upcase } # => "MY STRING"
3.next.yield_self {|x| x**x }.to_s # => "256"
//}
値をメソッドチェインのパイプラインに次々と渡すの......は良い使い方です。
//emlist[メソッドチェインのパイプライン][ruby]{
require 'open-uri'
require 'json'
construct_url(arguments).
yield_self {|url| URI(url).read }.
yield_self {|response| JSON.parse(response) }
//}
ブロックなしで呼び出されたときは Enumerat......返します。
例えば条件によって値を捨てるのに使えます。
//emlist[][ruby]{
# 条件にあうので何もしない
1.yield_self.detect(&:odd?) # => 1
# 条件に合わないので値を捨てる
2.yield_self.detect(&:odd?) # => nil
//}
@see Object#tap... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (15324.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。
ブロックを指定した場......ライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。
@param obj ファイナライザを登......定します。proc は obj の回収時に obj の ID を引数として実行されます。
=== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (15324.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。
ブロックを指定した場......ライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。
@param obj ファイナライザを登......定します。proc は obj の回収時に obj の ID を引数として実行されます。
=== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"... -
String
# isjis -> bool (15322.0) -
self が ISO-2022-JP なバイト列として正当であるかどうかを判定します。
...
self が ISO-2022-JP なバイト列として正当であるかどうかを判定します。
Kconv.isjis(self) と同じです。... -
Object
# itself -> object (15316.0) -
self を返します。
...
self を返します。
//emlist[][ruby]{
string = 'my string' # => "my string"
string.itself.object_id == string.object_id # => true
//}... -
String
# issjis -> bool (15316.0) -
self が Shift_JIS なバイト列として正当であるかどうかを判定します。
...
self が Shift_JIS なバイト列として正当であるかどうかを判定します。
Kconv.#issjis と同じです。... -
ObjectSpace
. # undefine _ finalizer(obj) -> object (15312.0) -
obj に対するファイナライザをすべて解除します。 obj を返します。
...obj に対するファイナライザをすべて解除します。
obj を返します。
@param obj ファイナライザを解除したいオブジェクトを指定します。
//emlist[例][ruby]{
class Sample
def Sample.callback
proc {
puts "finalize"
}
end
def initializ......e
ObjectSpace.define_finalizer(self, Sample.callback)
end
def undef
ObjectSpace.undefine_finalizer(self)
end
end
Sample.new
GC.start
# => finalize
Sample.new
sample.undef
GC.start
# ※何も出力されない
//}
@see ObjectSpace.#define_finalizer... -
Object
# yield _ self -> Enumerator (15254.0) -
self を引数としてブロックを評価し、ブロックの結果を返します。
...
self を引数としてブロックを評価し、ブロックの結果を返します。
//emlist[例][ruby]{
"my string".yield_self {|s| s.upcase } # => "MY STRING"
3.next.yield_self {|x| x**x }.to_s # => "256"
//}
値をメソッドチェインのパイプラインに次々と渡すの......は良い使い方です。
//emlist[メソッドチェインのパイプライン][ruby]{
require 'open-uri'
require 'json'
construct_url(arguments).
yield_self {|url| URI(url).read }.
yield_self {|response| JSON.parse(response) }
//}
ブロックなしで呼び出されたときは Enumerat......返します。
例えば条件によって値を捨てるのに使えます。
//emlist[][ruby]{
# 条件にあうので何もしない
1.yield_self.detect(&:odd?) # => 1
# 条件に合わないので値を捨てる
2.yield_self.detect(&:odd?) # => nil
//}
@see Object#tap... -
Object
# define _ singleton _ method(symbol) { . . . } -> Symbol (15252.0) -
self に特異メソッド name を定義します。
...
self に特異メソッド name を定義します。
@param symbol メソッド名を String または Symbol で指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Sy......mbol を返します。
//emlist[][ruby]{
class A
class << self
def class_name
to_s
end
end
end
A.define_singleton_method(:who_am_i) do
"I am: #{class_name}"
end
A.who_am_i # ==> "I am: A"
guy = "Bob"
guy.define_singleton_method(:hello) { "#{self}: Hello there!" }
guy.hello... -
Object
# define _ singleton _ method(symbol , method) -> Symbol (15252.0) -
self に特異メソッド name を定義します。
...
self に特異メソッド name を定義します。
@param symbol メソッド名を String または Symbol で指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Sy......mbol を返します。
//emlist[][ruby]{
class A
class << self
def class_name
to_s
end
end
end
A.define_singleton_method(:who_am_i) do
"I am: #{class_name}"
end
A.who_am_i # ==> "I am: A"
guy = "Bob"
guy.define_singleton_method(:hello) { "#{self}: Hello there!" }
guy.hello...