ライブラリ
- ビルトイン (40)
-
irb
/ context (3) -
irb
/ ext / math-mode (2) -
irb
/ inspector (3) -
irb
/ output-method (2) -
net
/ smtp (1) - optparse (1)
- ostruct (2)
- pp (2)
- rake (2)
- shell (1)
-
shell
/ filter (1) - socket (1)
- strscan (1)
- sync (1)
- thwait (3)
-
win32
/ registry (1) - win32ole (2)
クラス
- Addrinfo (1)
-
Encoding
:: Converter (1) - Float (2)
- Hash (1)
-
IRB
:: Context (5) -
IRB
:: Inspector (2) -
IRB
:: OutputMethod (2) - Integer (2)
- Method (2)
- Module (4)
-
Net
:: SMTP (1) - Object (4)
- OpenStruct (2)
-
OptionParser
:: ParseError (1) -
Rake
:: TaskArguments (2) - Range (2)
- Rational (2)
- Regexp (2)
-
RubyVM
:: InstructionSequence (1) - Shell (1)
-
Shell
:: Filter (1) - String (2)
- StringScanner (1)
- Thread (2)
-
Thread
:: Backtrace :: Location (1) - ThreadsWait (3)
- UnboundMethod (2)
-
WIN32OLE
_ EVENT (1) -
WIN32OLE
_ TYPE (1) -
Win32
:: Registry (1)
キーワード
- % (1)
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - Inspector (1)
- Thread (1)
- [] (1)
- ` (1)
- abort (2)
-
all
_ waits (2) -
const
_ missing (1) - debug= (1)
-
def
_ inspector (1) -
default
_ proc (1) -
drb
/ gw (1) - exit (1)
- format (1)
- handler= (1)
-
initialize
_ copy (1) - inspect? (1)
-
inspect
_ mode (1) -
inspect
_ mode= (1) -
keys
_ with _ inspector (1) - math? (1)
-
math
_ mode (1) - name (1)
- name= (1)
- new (2)
- p (1)
- pp (1)
- ppx (1)
-
pretty
_ print (1) -
pretty
_ print _ inspect (1) -
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 4 feature (1) - sprintf (1)
-
sync
_ inspect (1) -
to
_ s (10) -
trace
_ var (3) -
untrace
_ var (1) - クラス/メソッドの定義 (1)
- スレッド (1)
検索結果
先頭5件
-
Object
# inspect -> String (54448.0) -
オブジェクトを人間が読める形式に変換した文字列を返します。
オブジェクトを人間が読める形式に変換した文字列を返します。
組み込み関数 Kernel.#p は、このメソッドの結果を使用して
オブジェクトを表示します。
//emlist[][ruby]{
[ 1, 2, 3..4, 'five' ].inspect # => "[1, 2, 3..4, \"five\"]"
Time.new.inspect # => "2008-03-08 19:43:39 +0900"
//}
inspect メソッドをオーバーライドしなかった場合、クラス名とインスタンス
変数の名前、値の組を元にした文字列を返します。
//... -
StringScanner
# inspect -> String (54448.0) -
StringScannerオブジェクトを表す文字列を返します。
StringScannerオブジェクトを表す文字列を返します。
文字列にはクラス名の他、以下の情報が含まれます。
* スキャナポインタの現在位置。
* スキャン対象の文字列の長さ。
* スキャンポインタの前後にある文字。上記実行例の @ がスキャンポインタを表します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.inspect # => "#<StringScanner 0/11 @ \"test ..... -
Rational
# inspect -> String (54412.0) -
自身を人間が読みやすい形の文字列表現にして返します。
自身を人間が読みやすい形の文字列表現にして返します。
"(3/5)", "(-17/7)" のように10進数の表記を返します。
@return 有理数の表記にした文字列を返します。
//emlist[例][ruby]{
Rational(5, 8).inspect # => "(5/8)"
Rational(2).inspect # => "(2/1)"
Rational(-8, 6).inspect # => "(-4/3)"
Rational(0.5).inspect # => "(1/2)"
//}
@see Rational#to_s -
Range
# inspect -> String (54406.0) -
self を文字列に変換します(始端と終端のオブジェクトは #inspect メソッド で文字列に変換されます)。
self を文字列に変換します(始端と終端のオブジェクトは #inspect メソッド
で文字列に変換されます)。
@see Range#to_s
//emlist[例][ruby]{
(1..5).inspect # => "1..5"
("1".."5").inspect # => "\"1\"..\"5\""
//} -
Net
:: SMTP # inspect -> String (54400.0) -
@see Object#inspect
@see Object#inspect -
Method
# inspect -> String (54376.0) -
self を読みやすい文字列として返します。
self を読みやすい文字列として返します。
以下の形式の文字列を返します。
#<Method: klass1(klass2)#method> (形式1)
klass1 は、Method#inspect では、レシーバのクラス名、
UnboundMethod#inspect では、UnboundMethod オブジェクトの生成
元となったクラス/モジュール名です。
klass2 は、実際にそのメソッドを定義しているクラス/モジュール名、
method は、メソッド名を表します。
//emlist[例][ruby]{
module Foo
def... -
UnboundMethod
# inspect -> String (54376.0) -
self を読みやすい文字列として返します。
self を読みやすい文字列として返します。
詳しくは Method#inspect を参照してください。
//emlist[例][ruby]{
String.instance_method(:count).inspect # => "#<UnboundMethod: String#count>"
//}
@see Method#inspect -
Integer
# inspect(base=10) -> String (54358.0) -
整数を 10 進文字列表現に変換します。
整数を 10 進文字列表現に変換します。
引数を指定すれば、それを基数とした文字列表
現に変換します。
//emlist[][ruby]{
p 10.to_s(2) # => "1010"
p 10.to_s(8) # => "12"
p 10.to_s(16) # => "a"
p 35.to_s(36) # => "z"
//}
@return 数値の文字列表現
@param base 基数となる 2 - 36 の数値。
@raise ArgumentError base に 2 - 36 以外の数値を指定した場合に発生します。 -
OptionParser
:: ParseError # inspect -> String (54358.0) -
自身を人間が読みやすい形の文字列表現にして返します。
自身を人間が読みやすい形の文字列表現にして返します。
@return 文字列を返します。
@see Object#inspect -
String
# inspect -> String (54358.0) -
文字列オブジェクトの内容を、出力したときに人間が読みやすいような適当な形式に変換します。 変換された文字列は印字可能な文字のみによって構成されます
文字列オブジェクトの内容を、出力したときに人間が読みやすいような適当な形式に変換します。
変換された文字列は印字可能な文字のみによって構成されます
現在の実装では、Ruby のリテラル形式を使って、
文字列中の不可視文字をエスケープシーケンスに変換します。
このメソッドは主にデバッグのために用意されています。
永続化などの目的で文字列をダンプしたいときは、
String#dump を使うべきです。
//emlist[例][ruby]{
# p ではないことに注意
puts "string".inspect # => "string"
puts "\t\r\n".inspect ... -
WIN32OLE
_ TYPE # inspect -> String (54358.0) -
selfを説明的な文字列で表現します。
selfを説明的な文字列で表現します。
@return "#<WIN32OLE_TYPE"とWIN32OLE_TYPE#to_sの結果を「:」で結合
し、「>」で閉じた文字列を返します。
x = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Worksheet')
puts x.inspect #=> #<WIN32OLE_TYPE:Worksheet>
@see WIN32OLE_TYPE#to_s -
Win32
:: Registry # inspect (54352.0) -
@todo
@todo -
OpenStruct
# inspect -> String (54340.0) -
オブジェクトを人間が読める形式に変換した文字列を返します。
オブジェクトを人間が読める形式に変換した文字列を返します。
@see Object#inspect -
Rake
:: TaskArguments # inspect -> String (54340.0) -
自身を人間に読みやすい文字列にして返します。
自身を人間に読みやすい文字列にして返します。
@see Hash#inspect -
Regexp
# inspect -> String (54340.0) -
Regexp#to_s より自然な文字列を返します。
Regexp#to_s より自然な文字列を返します。
//emlist[例][ruby]{
p /^ugou.*?/i.to_s # => "(?i-mx:^ugou.*?)"
p /^ugou.*?/i.inspect # => "/^ugou.*?/i"
//}
@see Regexp#to_s -
RubyVM
:: InstructionSequence # inspect -> String (54340.0) -
self の情報をラベルとパスを含んだ人間に読みやすい文字列にして返します。
self の情報をラベルとパスを含んだ人間に読みやすい文字列にして返します。
//emlist[例][ruby]{
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
iseq.inspect # => "<RubyVM::InstructionSequence:<compiled>@<compiled>>"
//}
@see RubyVM::InstructionSequence#label,
RubyVM::InstructionSequence#path -
Shell
:: Filter # inspect -> String (54340.0) -
オブジェクトを人間が読める形式に変換した文字列を返します。
オブジェクトを人間が読める形式に変換した文字列を返します。
@see Object#inspect -
Thread
:: Backtrace :: Location # inspect -> String (54340.0) -
Thread::Backtrace::Location#to_s の結果を人間が読みやすいような文 字列に変換したオブジェクトを返します。
Thread::Backtrace::Location#to_s の結果を人間が読みやすいような文
字列に変換したオブジェクトを返します。
//emlist[例][ruby]{
# foo.rb
class Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end
end
Foo.new(0..2).locations.map do |call|
puts call.inspect
end
# => "path/to/foo.rb:5:in ... -
Encoding
:: Converter # inspect -> String (54322.0) -
Encoding::Converter オブジェクトの情報を簡単に表示します。
Encoding::Converter オブジェクトの情報を簡単に表示します。
@return 変換器の情報を簡単に可視化した文字列です。 -
Float
# inspect -> String (54322.0) -
自身を人間が読みやすい形の文字列表現にして返します。
自身を人間が読みやすい形の文字列表現にして返します。
固定小数点、浮動小数点の形式か、 "Infinity"、"-Infinity"、"NaN" のいず
れかを返します。
@return 文字列を返します。
//emlist[例][ruby]{
0.00001.to_s # => "1.0e-05"
3.14.to_s # => "3.14"
10000_00000_00000.0.to_s # => "100000000000000.0"
10000_00000_00000_00000.0.to_s # => "1.0e+19"
... -
Module
# inspect -> String (54322.0) -
モジュールやクラスの名前を文字列で返します。
モジュールやクラスの名前を文字列で返します。
このメソッドが返す「モジュール / クラスの名前」とは、
より正確には「クラスパス」を指します。
クラスパスとは、ネストしているモジュールすべてを
「::」を使って表示した名前のことです。
クラスパスの例としては「CGI::Session」「Net::HTTP」が挙げられます。
@return 名前のないモジュール / クラスに対しては、name は nil を、それ以外はオブジェクト ID の文字列を返します。
//emlist[例][ruby]{
module A
module B
end
p B.name #=> "A... -
IRB
:: Inspector . keys _ with _ inspector(inspector) -> Array (27655.0) -
引数で指定した IRB::Inspector に対応する key の配列を返します。
引数で指定した IRB::Inspector に対応する key の配列を返します。
@param inspector IRB::Inspector オブジェクトを指定します。
IRB::Inspector.keys_with_inspector(IRB::Inspector::INSPECTORS[true])
# => [true, :p, "p", :inspect, "inspect"] -
IRB
:: Inspector . def _ inspector(key , arg = nil) { |v| . . . } -> object (27445.0) -
新しい実行結果の出力方式を定義します。
新しい実行結果の出力方式を定義します。
@param key conf.inspect_mode や IRB.conf[:INSPECT_MODE] に指定するキー
オブジェクトを指定します。配列を指定した場合は配列中の要素全
てが対象になります。
@param arg ブロックを指定する場合には、inspect_mode の初期化のための手続
きオブジェクトを指定します。あらかじめ require が必要な場合
などに、proc { require "foo" } といった指定を行います。
... -
IRB
. Inspector(inspect , init = nil) -> IRB :: Inspector (18976.0) -
IRB::Inspector オブジェクトを生成します。
IRB::Inspector オブジェクトを生成します。
@param inspect 実行結果の出力のための手続きオブジェクトを指定します。
@param init inspect_mode の初期化のための手続きオブジェクトを指定します。
あらかじめ require が必要な場合などに、proc { require "foo" }
といった指定を行います。 -
IRB
:: Context # inspect _ mode=(opt) (18430.0) -
実行結果の出力方式を opt に設定します。
実行結果の出力方式を opt に設定します。
@param opt 以下のいずれかを指定します。
: false, :to_s, :raw
出力結果を to_s したものを表示します。
: true, :p, :inspect
出力結果を inspect したものを表示します。
: :pp, :pretty_inspect
出力結果を pretty_inspect したものを表示します。
: :yaml, :YAML
出力結果を YAML 形式にしたものを表示します。
: :marshal, :Marshal, :MARSHAL, Marshal
出力結果を Marsh... -
IRB
:: Context # inspect? -> bool (18424.0) -
IRB::Context#inspect_mode が有効かどうかを返します。
IRB::Context#inspect_mode が有効かどうかを返します。
@return 出力結果に to_s したものを表示する場合は false を返します。それ
以外の場合は true を返します。
@see IRB::Context#inspect_mode, IRB::Context#inspect_mode= -
Object
# pretty _ print _ inspect -> String (18370.0) -
Object#pretty_print を使って Object#inspect と同様に オブジェクトを人間が読める形式に変換した文字列を返します。
Object#pretty_print を使って Object#inspect と同様に
オブジェクトを人間が読める形式に変換した文字列を返します。
出力する全てのオブジェクトに Object#pretty_print が定義されている必要があります。
そうでない場合には RuntimeError が発生します。
@raise RuntimeError 出力する全てのオブジェクトに Object#pretty_print が定義されて
いない場合に発生します。 -
Sync
_ m # sync _ inspect (18352.0) -
@todo
@todo -
IRB
:: Context # inspect _ mode -> object | nil (18340.0) -
実行結果の出力方式を返します。
実行結果の出力方式を返します。
@see IRB::Context#inspect_mode= -
Method
# to _ s -> String (9076.0) -
self を読みやすい文字列として返します。
self を読みやすい文字列として返します。
以下の形式の文字列を返します。
#<Method: klass1(klass2)#method> (形式1)
klass1 は、Method#inspect では、レシーバのクラス名、
UnboundMethod#inspect では、UnboundMethod オブジェクトの生成
元となったクラス/モジュール名です。
klass2 は、実際にそのメソッドを定義しているクラス/モジュール名、
method は、メソッド名を表します。
//emlist[例][ruby]{
module Foo
def... -
UnboundMethod
# to _ s -> String (9076.0) -
self を読みやすい文字列として返します。
self を読みやすい文字列として返します。
詳しくは Method#inspect を参照してください。
//emlist[例][ruby]{
String.instance_method(:count).inspect # => "#<UnboundMethod: String#count>"
//}
@see Method#inspect -
Integer
# to _ s(base=10) -> String (9058.0) -
整数を 10 進文字列表現に変換します。
整数を 10 進文字列表現に変換します。
引数を指定すれば、それを基数とした文字列表
現に変換します。
//emlist[][ruby]{
p 10.to_s(2) # => "1010"
p 10.to_s(8) # => "12"
p 10.to_s(16) # => "a"
p 35.to_s(36) # => "z"
//}
@return 数値の文字列表現
@param base 基数となる 2 - 36 の数値。
@raise ArgumentError base に 2 - 36 以外の数値を指定した場合に発生します。 -
OpenStruct
# to _ s -> String (9040.0) -
オブジェクトを人間が読める形式に変換した文字列を返します。
オブジェクトを人間が読める形式に変換した文字列を返します。
@see Object#inspect -
Rake
:: TaskArguments # to _ s -> String (9040.0) -
自身を人間に読みやすい文字列にして返します。
自身を人間に読みやすい文字列にして返します。
@see Hash#inspect -
Float
# to _ s -> String (9022.0) -
自身を人間が読みやすい形の文字列表現にして返します。
自身を人間が読みやすい形の文字列表現にして返します。
固定小数点、浮動小数点の形式か、 "Infinity"、"-Infinity"、"NaN" のいず
れかを返します。
@return 文字列を返します。
//emlist[例][ruby]{
0.00001.to_s # => "1.0e-05"
3.14.to_s # => "3.14"
10000_00000_00000.0.to_s # => "100000000000000.0"
10000_00000_00000_00000.0.to_s # => "1.0e+19"
... -
Module
# name -> String | nil (9022.0) -
モジュールやクラスの名前を文字列で返します。
モジュールやクラスの名前を文字列で返します。
このメソッドが返す「モジュール / クラスの名前」とは、
より正確には「クラスパス」を指します。
クラスパスとは、ネストしているモジュールすべてを
「::」を使って表示した名前のことです。
クラスパスの例としては「CGI::Session」「Net::HTTP」が挙げられます。
@return 名前のないモジュール / クラスに対しては、name は nil を、それ以外はオブジェクト ID の文字列を返します。
//emlist[例][ruby]{
module A
module B
end
p B.name #=> "A... -
Module
# to _ s -> String (9022.0) -
モジュールやクラスの名前を文字列で返します。
モジュールやクラスの名前を文字列で返します。
このメソッドが返す「モジュール / クラスの名前」とは、
より正確には「クラスパス」を指します。
クラスパスとは、ネストしているモジュールすべてを
「::」を使って表示した名前のことです。
クラスパスの例としては「CGI::Session」「Net::HTTP」が挙げられます。
@return 名前のないモジュール / クラスに対しては、name は nil を、それ以外はオブジェクト ID の文字列を返します。
//emlist[例][ruby]{
module A
module B
end
p B.name #=> "A... -
ruby 1
. 8 . 4 feature (1459.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加され... -
ruby 1
. 6 feature (217.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) -> stable-snapshot
: 2003-01-22: errno
EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま... -
クラス/メソッドの定義 (217.0)
-
クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined
クラス/メソッドの定義
* クラス/メソッドの定義:
* class
* singleton_class
* module
* method
* operator
* nest_method
* eval_method
* singleton_method
* class_method
* limit
* 定義に関する操作:
* alias
* undef
* defined
===[a:class] クラス定義
//emlist[例][ruby]{
class Foo < S... -
Kernel
. # p(*arg) -> object | Array (181.0) -
引数を人間に読みやすい形に整形して改行と順番に標準出力 $stdout に出力します。主にデバッグに使用します。
引数を人間に読みやすい形に整形して改行と順番に標準出力 $stdout に出力します。主にデバッグに使用します。
引数の inspect メソッドの返り値と改行を順番に出力します。つまり以下のコードと同じです。
//emlist[例][ruby]{
print arg[0].inspect, "\n", arg[1].inspect, "\n" #, ...
//}
整形に用いられるObject#inspectは普通に文字列に変換すると
区別がつかなくなるようなクラス間の差異も表現できるように工夫されています。
p に引数を与えずに呼び出した場合は特に何もしません。
@param ... -
Kernel
. # untrace _ var(varname , hook = nil) -> [String|Proc] (127.0) -
グローバル変数 varname に関連付けられたフックを解除します。
グローバル変数 varname に関連付けられたフックを解除します。
hook が指定された場合にはそのフックだけを解除します。
省略するか nil を与えた場合は
varname のフックを全て解除します。
@param varname グローバル変数名を文字列か Symbol で指定します。
@param hook 文字列または Proc オブジェクトです。
@return 解除されたフックの配列を返します。
//emlist[例][ruby]{
trace_var(:$v){|val| print "hookA.#{val.inspect},\n" }
block = proc{... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (109.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
Addrinfo
. new(sockaddr , family=Socket :: PF _ UNSPEC , socktype=0 , protocol=0) -> Addrinfo (109.0) -
新たな Addrinfo オブジェクトを返します。
新たな Addrinfo オブジェクトを返します。
sockaddr は connect(2) などで使われるパラメータで、
struct sockaddr に対応します。faimily, socktype, protocol
は socket(2) のパラメータに対応します。
sockaddr には文字列もしくは配列を指定します。
配列の場合は IPSocket#addr や UNIXSocket#addr の
値と互換でなければなりません。
文字列の場合は Socket.sockaddr_in や
Socket.unpack_sockaddr_un で得られるようなものでなければ
な... -
Kernel
. # `(command) -> String (91.0) -
command を外部コマンドとして実行し、その標準出力を文字列として 返します。このメソッドは `command` の形式で呼ばれます。
command を外部コマンドとして実行し、その標準出力を文字列として
返します。このメソッドは `command` の形式で呼ばれます。
引数 command に対しダブルクォートで囲まれた文字列と同様の解釈と式展開を行った後、
コマンドとして実行します。
コマンドは評価されるたびに実行されます。コマンドの終了ステータスを得るには、$? を参照します。
コマンドの出力を得る必要がなく、単にコマンドを実行したいだけなら
Kernel.#system を使います。特に端末を制御するコマンドでは
`command` は失敗するかもしれません。
d:spec/literal#command ... -
Kernel
. # trace _ var(varname) {|new _ val| . . . . } -> nil (91.0) -
グローバル変数 varname への代入のフックを登録します。
グローバル変数 varname への代入のフックを登録します。
ここでの「グローバル変数」は、特殊変数
(d:spec/variables#builtin を参照)も含めた `$' で始まる変数のこ
とです。
この呼び出し以降、varname で指定したグローバル変数に
値が代入されるたびに hook かブロックが評価されます。hook が Proc オブジェクトの場合
代入された値がブロック引数に渡されます。文字列の場合はRubyコードとして評価されます。
trace_var がフックするのは明示的な代入だけです。
フックは複数登録できます。
フックを解除するには、hook に n... -
Kernel
. # trace _ var(varname , hook) -> [String|Proc] (91.0) -
グローバル変数 varname への代入のフックを登録します。
グローバル変数 varname への代入のフックを登録します。
ここでの「グローバル変数」は、特殊変数
(d:spec/variables#builtin を参照)も含めた `$' で始まる変数のこ
とです。
この呼び出し以降、varname で指定したグローバル変数に
値が代入されるたびに hook かブロックが評価されます。hook が Proc オブジェクトの場合
代入された値がブロック引数に渡されます。文字列の場合はRubyコードとして評価されます。
trace_var がフックするのは明示的な代入だけです。
フックは複数登録できます。
フックを解除するには、hook に n... -
Kernel
. # trace _ var(varname , hook) -> nil (91.0) -
グローバル変数 varname への代入のフックを登録します。
グローバル変数 varname への代入のフックを登録します。
ここでの「グローバル変数」は、特殊変数
(d:spec/variables#builtin を参照)も含めた `$' で始まる変数のこ
とです。
この呼び出し以降、varname で指定したグローバル変数に
値が代入されるたびに hook かブロックが評価されます。hook が Proc オブジェクトの場合
代入された値がブロック引数に渡されます。文字列の場合はRubyコードとして評価されます。
trace_var がフックするのは明示的な代入だけです。
フックは複数登録できます。
フックを解除するには、hook に n... -
Object
# initialize _ copy(obj) -> object (91.0) -
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
このメソッドは self を obj の内容で置き換えます。ただ
し、self のインスタンス変数や特異メソッドは変化しません。
Object#clone, Object#dupの内部で使われています。
initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするた
めに使用(定義)されます。例えば C 言語でクラスを実装する場合、情報
をインスタンス変数に保持させない場合がありますが、そういった内部情
報を initialize_copy でコピーするよう定義しておくことで、du... -
drb
/ gw (91.0) -
drb 通信を中継するゲートウェイ(DRb::GW)と、 中継に必要なオブジェクト識別子変換クラス(DRb::GWIdConv)、 および DRb::DRbObject への拡張が含まれています。
drb 通信を中継するゲートウェイ(DRb::GW)と、
中継に必要なオブジェクト識別子変換クラス(DRb::GWIdConv)、
および DRb::DRbObject への拡張が含まれています。
このライブラリを利用することで直接通信することが不可能であるような
2つのプロセスが中継プロセスを経て drb によりやりとりできるようになります。
drb による通信とは、オブジェクトをプロセス間でやりとりすること、
およびそのメソッドを呼び出すことです。
中継プロセスが保持している DRb::GW オブジェクトに
それ以外のプロセスがオブジェクトを登録したり、登録済みの
オブジェクトを取り出... -
IRB
:: OutputMethod # ppx(prefix , *objs) -> object (85.0) -
引数 prefix + 各 obj を inspect した文字列を self に出力し、最後に改行 を出力します。
引数 prefix + 各 obj を inspect した文字列を self に出力し、最後に改行
を出力します。
@param prefix 各 obj の先頭に追記する文字列を指定します。
@param objs 任意のオブジェクトを指定します。 -
Kernel
. # format(format , *arg) -> String (73.0) -
format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。
format 文字列を C 言語の sprintf と同じように解釈し、
引数をフォーマットした文字列を返します。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@see Kernel.#printf,Time#strftime,Date.strptime
=== sprintf フォーマット
Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3)
のものと同じです。ただし、short や long などの C 特有の型に対する修飾子が
ないこと、2進数の指示子(%b, %B)が存在すること、s... -
Kernel
. # sprintf(format , *arg) -> String (73.0) -
format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。
format 文字列を C 言語の sprintf と同じように解釈し、
引数をフォーマットした文字列を返します。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@see Kernel.#printf,Time#strftime,Date.strptime
=== sprintf フォーマット
Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3)
のものと同じです。ただし、short や long などの C 特有の型に対する修飾子が
ないこと、2進数の指示子(%b, %B)が存在すること、s... -
Thread
# name=(name) -> String (73.0) -
self の名前を name に設定します。
self の名前を name に設定します。
プラットフォームによっては pthread やカーネルにも設定を行う場合があります。
@raise ArgumentError 引数に ASCII 互換ではないエンコーディングのものを
指定した場合に発生します。
//emlist[例][ruby]{
a = Thread.new{}
a.name = 'named'
a.name # => "named"
a.inspect # => "#<Thread:0x00007f85ac8721f0@named@(irb):1 dead>"
... -
WIN32OLE
_ EVENT # handler=(obj) -> () (73.0) -
イベント処理を実行するオブジェクトを登録します。
イベント処理を実行するオブジェクトを登録します。
イベントハンドラをメソッドとして持つオブジェクトをイベントハンドラとし
て登録します。
イベントハンドラはイベント名に「on」を前置します。もし、イベントに対応
するonメソッドが実装されていなければmethod_missingが呼ばれます。イベン
ト名は大文字小文字を区別するため、正確な記述が必要です。
@param obj イベントに対応するメソッドを持つオブジェクト。イベント受信を
解除するにはnilを指定します。
class IeHandler
def initialize
@com... -
IRB
:: OutputMethod # pp(*objs) -> object (67.0) -
各 obj を inspect した文字列を self に出力し、最後に改行を出力します。
各 obj を inspect した文字列を self に出力し、最後に改行を出力します。
@param objs 任意のオブジェクトを指定します。 -
Kernel
. # abort -> () (55.0) -
Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
このメソッドと Kernel.#exit との違いは、プログラムの終了ステー
タスが 1 (正確にはCレベルの定数 EXIT_FAILURE の値)固定であることと、
エラーメッセージを標準エラー出力 $stderr に出力することです。
引数 message を指定すると SystemExit クラスの
Exception#message に message を設定し
て標準エラー出力に出力します。
@param message エラーメッセージ文字列です。
//emlist[][ruby]... -
Kernel
. # abort(message) -> () (55.0) -
Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
このメソッドと Kernel.#exit との違いは、プログラムの終了ステー
タスが 1 (正確にはCレベルの定数 EXIT_FAILURE の値)固定であることと、
エラーメッセージを標準エラー出力 $stderr に出力することです。
引数 message を指定すると SystemExit クラスの
Exception#message に message を設定し
て標準エラー出力に出力します。
@param message エラーメッセージ文字列です。
//emlist[][ruby]... -
Kernel
. # exit(status = true) -> () (55.0) -
Rubyプログラムの実行を終了します。status として整 数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 0(正常終了)です。
Rubyプログラムの実行を終了します。status として整
数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。
デフォルトの終了ステータスは 0(正常終了)です。
status が true の場合 0、 false の場合 1 を引数に指定したとみなされます。この値はCレベルの定数
EXIT_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。
exit は例外 SystemExit を発生させ
ることによってプログラムの実行を終了させますので、
必要に応じて begin 節で捕捉することができます。
@param status 終了... -
Module
# const _ missing(name) (55.0) -
定義されていない定数を参照したときに Ruby インタプリタが このメソッドを呼びます。
定義されていない定数を参照したときに Ruby インタプリタが
このメソッドを呼びます。
@param name 参照した定数名の Symbol
@raise NameError このメソッドを呼び出した場合、デフォルトで発生する例外
//emlist[例][ruby]{
class Foo
def Foo.const_missing(id)
warn "undefined constant #{id.inspect}"
end
Bar
end
Foo::Bar
# => undefined constant :Bar
# undefined consta... -
Object
# pretty _ print(pp) -> () (55.0) -
PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに 呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。
PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに
呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。
あるクラスの pp の出力をカスタマイズしたい場合は、このメソッドを再定義します。
そのとき pretty_print メソッドは指定された pp に対して表示したい自身の内容を追加して
いかなければいけません。いくつかの組み込みクラスについて、
pp ライブラリはあらかじめ pretty_print メソッドを定義しています。
@param pp PP オブジェクトです。
//emlist[][ruby]{
require 'pp'
... -
Rational
# to _ s -> String (55.0) -
自身を人間が読みやすい形の文字列表現にして返します。
自身を人間が読みやすい形の文字列表現にして返します。
"3/5", "-17/7" のように10進数の表記を返します。
@return 有理数の表記にした文字列を返します。
//emlist[例][ruby]{
Rational(3, 4).to_s # => "3/4"
Rational(8).to_s # => "8/1"
Rational(-8, 6).to_s # => "-4/3"
Rational(0.5).to_s # => "1/2"
//}
@see Rational#inspect -
String
# %(args) -> String (55.0) -
printf と同じ規則に従って args をフォーマットします。
printf と同じ規則に従って args をフォーマットします。
args が配列であれば Kernel.#sprintf(self, *args) と同じです。
それ以外の場合は Kernel.#sprintf(self, args) と同じです。
@param args フォーマットする値、もしくはその配列
@return フォーマットされた文字列
//emlist[例][ruby]{
p "i = %d" % 10 # => "i = 10"
p "i = %x" % 10 # => "i = a"
p "i = %o" % 10... -
Hash
# default _ proc -> Proc | nil (37.0) -
ハッシュのデフォルト値を返す Proc オブジェクトを返します。 ハッシュがブロック形式のデフォルト値を持たない場合 nil を返します。
ハッシュのデフォルト値を返す Proc オブジェクトを返します。
ハッシュがブロック形式のデフォルト値を持たない場合 nil を返します。
//emlist[例][ruby]{
h = Hash.new {|hash, key| "The #{key} not exist in #{hash.inspect}"}
p h.default #=> nil
p block = h.default_proc #=> #<Proc:0x0x401a9ff4>
p block.call({},:foo) #=> "The foo not exist in {}"
h... -
IRB
:: Context # math? -> bool (37.0) -
math_mode が有効かどうかを返します。
math_mode が有効かどうかを返します。
@see IRB::Context#math_mode=, IRB::Context#inspect? -
IRB
:: Context # math _ mode -> bool (37.0) -
math_mode が有効かどうかを返します。
math_mode が有効かどうかを返します。
@see IRB::Context#math_mode=, IRB::Context#inspect? -
Range
# to _ s -> String (37.0) -
self を文字列に変換します(始端と終端のオブジェクトは #to_s メソッドで文 字列に変換されます)。
self を文字列に変換します(始端と終端のオブジェクトは #to_s メソッドで文
字列に変換されます)。
@see Range#inspect
//emlist[例][ruby]{
(1..5).to_s # => "1..5"
("1".."5").to_s # => "1..5"
//} -
Regexp
# to _ s -> String (37.0) -
正規表現の文字列表現を生成して返します。返される文字列は他の正規表 現に埋め込んでもその意味が保持されるようになっています。
正規表現の文字列表現を生成して返します。返される文字列は他の正規表
現に埋め込んでもその意味が保持されるようになっています。
//emlist[][ruby]{
re = /foo|bar|baz/i
p re.to_s # => "(?i-mx:foo|bar|baz)"
p /#{re}+/o # => /(?i-mx:foo|bar|baz)+/
//}
ただし、後方参照を含む正規表現は意図通りにはならない場合があります。
この場合は名前付きキャプチャを使用すると影響を受けにくくなります。
//emlist[][ruby]{
re = /(foo|bar)\1... -
Shell
. debug=(val) (37.0) -
デバッグ用のフラグを設定します。
デバッグ用のフラグを設定します。
@param val bool 値や整数値を指定します。詳細は下記を参照してください。
# debug: true -> normal debug
# debug: 1 -> eval definition debug
# debug: 2 -> detail inspect debug -
Thread (37.0)
-
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。
Thread を使うことで並行プログラミングが可能になります。
=== 実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有しており、同時に実行される
ネイティブスレッドは常にひとつです。
ただし、IO 関連のブロックする可能性があるシステムコールを行う場合には
GVL を解放します。その場合にはスレッドは同時に実行され得ます。
また拡張ライブラリから GVL を操作できるので、複数のスレッドを
同時に実行するような拡... -
Thread
# [](name) -> object | nil (37.0) -
name に対応したスレッドに固有のデータを取り出します。 name に対応するスレッド固有データがなければ nil を返し ます。
name に対応したスレッドに固有のデータを取り出します。
name に対応するスレッド固有データがなければ nil を返し
ます。
@param name スレッド固有データのキーを文字列か Symbol で指定します。
//emlist[例][ruby]{
[
Thread.new { Thread.current["name"] = "A" },
Thread.new { Thread.current[:name] = "B" },
Thread.new { Thread.current["name"] = "C" }
].each do |th|
th.join... -
ThreadsWait
. all _ waits(*threads) -> () (37.0) -
指定されたスレッドすべてが終了するまで待ちます。 ブロックが与えられた場合、スレッド終了時にブロックを評価します。
指定されたスレッドすべてが終了するまで待ちます。
ブロックが与えられた場合、スレッド終了時にブロックを評価します。
@param threads 終了するまでまつスレッドを一つもしくは複数指定します。
require 'thwait'
threads = []
5.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}
ThreadsWait.all_waits(*threads) {|th| printf("end %s\n", th.inspect) }
# 出力例
#=... -
ThreadsWait
. all _ waits(*threads) {|thread| . . . } -> () (37.0) -
指定されたスレッドすべてが終了するまで待ちます。 ブロックが与えられた場合、スレッド終了時にブロックを評価します。
指定されたスレッドすべてが終了するまで待ちます。
ブロックが与えられた場合、スレッド終了時にブロックを評価します。
@param threads 終了するまでまつスレッドを一つもしくは複数指定します。
require 'thwait'
threads = []
5.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}
ThreadsWait.all_waits(*threads) {|th| printf("end %s\n", th.inspect) }
# 出力例
#=... -
ThreadsWait
. new(*threads) -> ThreadsWait (37.0) -
指定されたスレッドの終了をまつための、スレッド同期オブジェクトをつくります。
指定されたスレッドの終了をまつための、スレッド同期オブジェクトをつくります。
@param threads 終了を待つスレッドを一つもしくは複数指定します。
使用例
require 'thwait'
threads = []
5.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}
thall = ThreadsWait.new(*threads)
thall.all_waits{|th|
printf("end %s\n", th.inspect)
}
... -
スレッド (37.0)
-
スレッド スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Ruby ではスレッドはThread クラスのインスタンスとして表されます。
スレッド
スレッドとはメモリ空間を共有して同時に実行される制御の流れです。
Ruby ではスレッドはThread クラスのインスタンスとして表されます。
=== 実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有しており、同時に実行される
ネイティブスレッドは常にひとつです。
ただし、IO 関連のブロックする可能性があるシステムコールを行う場合には
GVL を解放します。その場合にはスレッドは同時に実行され得ます。
また拡張ライブラリから GVL を操作できるので、複数のスレッドを
同時に実行するような拡...