別のキーワード
ライブラリ
クラス
- Array (6)
- CGI (1)
-
CSV
:: Row (2) -
CSV
:: Table (4) - Data (2)
- Enumerator (2)
-
Enumerator
:: Lazy (1) -
Fiddle
:: Pointer (1) - File (1)
- Hash (56)
-
JSON
:: Parser (2) -
JSON
:: State (4) - MatchData (1)
- Matrix (11)
- Module (1)
-
Net
:: HTTPResponse (1) - Object (1)
-
ObjectSpace
:: WeakMap (1) -
OpenSSL
:: ASN1 :: ASN1Data (2) -
OpenSSL
:: ASN1 :: BMPString (2) -
OpenSSL
:: ASN1 :: BitString (2) -
OpenSSL
:: ASN1 :: Boolean (2) -
OpenSSL
:: ASN1 :: Enumerated (2) -
OpenSSL
:: ASN1 :: GeneralString (2) -
OpenSSL
:: ASN1 :: GeneralizedTime (2) -
OpenSSL
:: ASN1 :: GraphicString (2) -
OpenSSL
:: ASN1 :: IA5String (2) -
OpenSSL
:: ASN1 :: ISO64String (2) -
OpenSSL
:: ASN1 :: Integer (2) -
OpenSSL
:: ASN1 :: Null (2) -
OpenSSL
:: ASN1 :: NumericString (2) -
OpenSSL
:: ASN1 :: OctetString (2) -
OpenSSL
:: ASN1 :: PrintableString (2) -
OpenSSL
:: ASN1 :: Sequence (2) -
OpenSSL
:: ASN1 :: Set (2) -
OpenSSL
:: ASN1 :: T61String (2) -
OpenSSL
:: ASN1 :: UTCTime (2) -
OpenSSL
:: ASN1 :: UTF8String (2) -
OpenSSL
:: ASN1 :: UniversalString (2) -
OpenSSL
:: ASN1 :: VideotexString (2) - OpenStruct (2)
- OptionParser (12)
- Prime (1)
-
REXML
:: Attribute (1) -
REXML
:: Attributes (3) -
REXML
:: CData (2) -
REXML
:: DocType (1) -
REXML
:: Element (6) -
REXML
:: Text (3) -
Rake
:: TaskArguments (6) - Range (1)
-
Resolv
:: DNS (1) - String (2)
- Struct (9)
- Thread (2)
- TracePoint (1)
- UncaughtThrowError (1)
- Vector (2)
-
WIN32OLE
_ VARIANT (3)
モジュール
- Enumerable (2)
- GC (1)
- Kernel (4)
-
Net
:: HTTPExceptions (1) -
Net
:: HTTPHeader (3) -
OpenSSL
:: ASN1 (45)
オブジェクト
- ENV (14)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - ASN1 (1)
- BMPString (2)
- BitString (2)
- Boolean (2)
- CHR2FIX (1)
- Data (1)
-
Data
_ Get _ Struct (1) -
Data
_ Make _ Struct (1) -
Data
_ Wrap _ Struct (1) - Entity (1)
- Enumerated (2)
- Float (1)
- GeneralString (2)
- GeneralizedTime (2)
- GraphicString (2)
- Hash (1)
- IA5String (2)
- INT2NUM (1)
- ISO64String (2)
- Integer (3)
- KeyError (1)
- LL2NUM (1)
- Marshal フォーマット (1)
- MonitorMixin (1)
-
NEWS for Ruby 2
. 0 . 0 (1) -
NEWS for Ruby 2
. 2 . 0 (1) -
NEWS for Ruby 2
. 4 . 0 (1) -
NEWS for Ruby 2
. 5 . 0 (1) -
NEWS for Ruby 3
. 0 . 0 (1) -
NEWS for Ruby 3
. 1 . 0 (1) - Null (2)
- NumericString (2)
- ObjectId (2)
- OctetString (2)
- PrintableString (2)
- RSTRING (1)
- Ruby用語集 (1)
- STR2CSTR (1)
- Sequence (2)
- Set (2)
- StringValue (1)
- StringValuePtr (1)
- Symbol (1)
- T61String (2)
- UTCTime (2)
- UTF8String (2)
- UniversalString (2)
- VideotexString (2)
-
WIN32OLE
_ VARIABLE (1) -
WIN32OLE
_ VARIANT (1) - [] (5)
- []= (10)
-
add
_ attribute (2) -
add
_ attributes (1) - array (1)
-
attributes
_ of (1) - cgi (1)
-
cgi
/ session (1) - clear (1)
- coerce (1)
- compact (1)
- compact! (1)
- compile (1)
- configure (1)
-
const
_ set (1) - decode (1)
- default= (1)
-
delete
_ if (5) - diagonal (1)
- each (9)
-
each
_ attribute (1) -
each
_ element _ with _ attribute (1) -
each
_ header (1) -
each
_ key (2) -
each
_ pair (6) -
each
_ value (3) - eigen (1)
- eigensystem (1)
- fetch (3)
-
fetch
_ values (2) - filter (2)
- filter! (2)
-
find
_ class _ path (1) -
find
_ index (3) - flock (1)
-
get
_ text (1) -
has
_ key? (1) -
has
_ value? (1) - header (1)
- id2ref (1)
- include? (1)
- indent (1)
- indent= (1)
- index (3)
-
instance
_ variable _ set (1) -
keep
_ if (2) - key? (1)
-
lex
_ getline (1) - member? (1)
- merge (1)
- names (1)
-
net
/ http (1) - new (49)
-
new
_ scope (1) -
next
_ values (1) - on (12)
- pack (2)
- pack テンプレート文字列 (1)
- parse (1)
-
parse
_ csv (1) -
peek
_ values (1) -
prime
_ division (1) - rassoc (1)
-
rb
_ Integer (1) -
rb
_ ary _ entry (1) -
rb
_ ary _ new (1) -
rb
_ ary _ new2 (1) -
rb
_ ary _ new3 (1) -
rb
_ ary _ pop (1) -
rb
_ ary _ push (1) -
rb
_ ary _ shift (1) -
rb
_ ary _ store (1) -
rb
_ assoc _ new (1) -
rb
_ call _ super (1) -
rb
_ class _ real (1) -
rb
_ compile _ file (1) -
rb
_ compile _ string (1) -
rb
_ data _ object _ alloc (1) -
rb
_ define _ class _ under (1) -
rb
_ define _ method (1) -
rb
_ eval _ string (1) -
rb
_ eval _ string _ protect (1) -
rb
_ f _ block _ given _ p (1) -
rb
_ f _ lambda (1) -
rb
_ gc _ mark _ maybe (1) -
rb
_ gv _ get (1) -
rb
_ gv _ set (1) -
rb
_ load (1) -
rb
_ protect (1) -
rb
_ scan _ args (1) -
rb
_ str _ new (1) -
rb
_ to _ int (1) -
rdoc
/ parser / c (1) - reject (4)
- reject! (4)
- response (1)
-
return
_ value (1) -
rexml
/ document (1) - rss (1)
-
ruby 1
. 8 . 3 feature (1) -
ruby 1
. 8 . 4 feature (1) -
ruby 1
. 9 feature (1) -
ruby
_ stack _ length (1) - scalar (1)
- select (2)
- select! (2)
- shift (1)
-
st
_ delete _ safe (1) - store (2)
- stress= (1)
- text (1)
-
thread
_ variable _ set (1) - throw (1)
- timeouts= (1)
-
to
_ csv (1) -
to
_ h (14) -
to
_ hash (1) -
to
_ s (2) -
to
_ string (1) -
to
_ value (1) -
transform
_ values (2) -
transform
_ values! (2) - unpack (1)
- value= (2)
- value? (1)
- values (2)
-
values
_ at (5) -
with
_ defaults (1) -
yield
_ under (1) - クラス/メソッドの定義 (1)
- パターンマッチ (1)
検索結果
先頭5件
-
UncaughtThrowError
# value -> object (54424.0) -
Kernel.#throw に指定した value を返します。
Kernel.#throw に指定した value を返します。
//emlist[例][ruby]{
def do_complicated_things
throw :uncaught_label, "uncaught_value"
end
begin
do_complicated_things
rescue UncaughtThrowError => ex
p ex.value # => "uncaught_value"
end
//} -
WIN32OLE
_ VARIANT # value -> object (54388.0) -
値に対応するRubyオブジェクトを取得します。
値に対応するRubyオブジェクトを取得します。
@return 値に対応するRubyのオブジェクトを返します。
obj = WIN32OLE_VARIANT.new(1, WIN32OLE::VARIANT::VT_BSTR)
obj.value # => "1" (VT_BSTRを指定して生成したので、Stringオブジェクトとなる) -
Net
:: HTTPResponse # value -> nil (54376.0) -
レスポンスが 2xx(成功)でなかった場合に、対応する 例外を発生させます。
レスポンスが 2xx(成功)でなかった場合に、対応する
例外を発生させます。
@raise HTTPError レスポンスが 1xx であるか、 net/http が知らない
種類のレスポンスである場合に発生します。
@raise HTTPRetriableError レスポンスが 3xx である場合に発生します。
@raise HTTPServerException レスポンスが 4xx である場合に発生します。
@raise HTTPFatalError レスポンスが 5xx である場合に発生します。
//emlist[例 レスポンスが 2xx(成功)... -
OpenSSL
:: ASN1 :: ASN1Data # value -> object (54370.0) -
ASN.1 値に対応するRubyのオブジェクトを返します。
ASN.1 値に対応するRubyのオブジェクトを返します。
@see OpenSSL::ASN1::ASN1Data#value= -
REXML
:: Text # value -> String (54340.0) -
テキストの内容を非正規化(すべての実体をアンエスケープ)された状態で返します。
テキストの内容を非正規化(すべての実体をアンエスケープ)された状態で返します。
このメソッドの返り値では raw モードや entity_filter は無視されます。
@see REXML::Text#raw, REXML::Text#to_s
//emlist[][ruby]{
require 'rexml/document'
t = REXML::Text.new("< & foobar", false, nil, false)
t.to_s # => "< & foobar"
t.value # => "< & foobar"
//} -
REXML
:: CData # value -> String (45358.0) -
テキスト文字列を返します。
テキスト文字列を返します。
@see REXML::Text#value, REXML::Text#to_s
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root><![CDATA[foobar baz]]></root>
EOS
doc.root[0].class # => REXML::CData
doc.root[0].value # => "foobar baz"
//} -
Hash
# has _ value?(value) -> bool (18733.0) -
ハッシュが value を値として持つ時真を返します。 値の一致判定は == で行われます。
ハッシュが value を値として持つ時真を返します。
値の一致判定は == で行われます。
@param value 探索する値を指定します。
//emlist[][ruby]{
p({1 => "one"}.value?("one")) #=> true
p({1 => "one"}.value?("two")) #=> false
//}
@see Hash#key? -
Hash
# value?(value) -> bool (18733.0) -
ハッシュが value を値として持つ時真を返します。 値の一致判定は == で行われます。
ハッシュが value を値として持つ時真を返します。
値の一致判定は == で行われます。
@param value 探索する値を指定します。
//emlist[][ruby]{
p({1 => "one"}.value?("one")) #=> true
p({1 => "one"}.value?("two")) #=> false
//}
@see Hash#key? -
Net
:: HTTPHeader # each _ value {|value| . . . . } -> () (18697.0) -
保持しているヘッダの値をブロックに渡し、呼びだします。
保持しているヘッダの値をブロックに渡し、呼びだします。
渡される文字列は ", " で連結したものです。
//emlist[例][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Get.new(uri.request_uri)
req.each_value { |value| puts value }
# => gzip;q=1.0,deflate;q=0.6,identity;q=0.3
# => */*
# => Ruby
//} -
OpenSSL
:: ASN1 :: ASN1Data # value=(value) (18691.0) -
ASN.1 値に対応するRubyのオブジェクトを変更します。
ASN.1 値に対応するRubyのオブジェクトを変更します。
@param value 設定するオブジェクト
@see OpenSSL::ASN1::ASN1Data#value -
Hash
# each _ value {|value| . . . } -> self (18682.0) -
ハッシュの値を引数としてブロックを評価します。
ハッシュの値を引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合selfを、
無しで呼ばれた場合 Enumerator を返します。
//emlist[例][ruby]{
{:a=>1, :b=>2}.each_value {|v| p v}
#=> 1
# 2
p({:a=>1, :b=>2}.each_value) # => #<Enumerator: {:a=>1, :b=>2}:each_value>
//}
@see Hash#each_pair,Hash#each_key -
char * StringValuePtr(VALUE val) (18637.0)
-
val が String でなければ to_str メソッドを使って String に変換し、 その実体のポインタを返します。
val が String でなければ to_str メソッドを使って String に変換し、
その実体のポインタを返します。
このマクロに渡した VALUE は ruby の GC から確実に保護されます。 -
void StringValue(VALUE val) (18637.0)
-
val が String でなければ to_str メソッドを使って String に変換します。
val が String でなければ to_str メソッドを使って String に変換します。
このマクロに渡した VALUE は ruby の GC から確実に保護されます。 -
Hash
# transform _ values {|value| . . . } -> Hash (18622.0) -
すべての値に対してブロックを呼び出した結果で置き換えたハッシュを返します。 キーは変化しません。
...{ a: 2, b: 5, c: 10 }
h.transform_values(&:to_s) #=> { a: "1", b: "2", c: "3" }
h.transform_values.with_index {|v, i| "#{v}.#{i}" }
#=> { a: "1.0", b: "2.1", c: "3.2" }
//}
@see Hash#transform_values!
@see Hash#transform_keys
@see Hash#transform_keys!... -
Hash
# transform _ values! {|value| . . . } -> self (18622.0) -
すべての値に対してブロックを呼び出した結果でハッシュの値を変更します。 キーは変化しません。
すべての値に対してブロックを呼び出した結果でハッシュの値を変更します。
キーは変化しません。
@return transform_values! は常に self を返します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを
返します。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.transform_values! {|v| v * v + 1 } #=> { a: 2, b: 5, c: 10 }
h.transform_values!(&:to_s) #=> ... -
int ruby
_ stack _ length(VALUE **p) (18601.0) -
-
Hash
# each _ value -> Enumerator (18382.0) -
ハッシュの値を引数としてブロックを評価します。
ハッシュの値を引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合selfを、
無しで呼ばれた場合 Enumerator を返します。
//emlist[例][ruby]{
{:a=>1, :b=>2}.each_value {|v| p v}
#=> 1
# 2
p({:a=>1, :b=>2}.each_value) # => #<Enumerator: {:a=>1, :b=>2}:each_value>
//}
@see Hash#each_pair,Hash#each_key -
Fiddle
:: Pointer # to _ value -> object (18370.0) -
自身はヒープに確保された Ruby のオブジェクトを指すポインタであると仮定して、 自身が指すオブジェクトを返します。
自身はヒープに確保された Ruby のオブジェクトを指すポインタであると仮定して、
自身が指すオブジェクトを返します。
例:
require 'fiddle'
s = 'abc'
i = Fiddle.dlwrap(s)
cptr = Fiddle::Pointer.new(i)
p cptr.to_value #=> "abc" -
REXML
:: Text # value=(val) (18358.0) -
テキストの内容を val に変更します。
テキストの内容を val に変更します。
val には非正規化された(エスケープされていない)文字列を渡さなければ
なりません。
//emlist[][ruby]{
require 'rexml/document'
e = REXML::Element.new("a")
e.add_text("foo")
e[0].value = "bar"
e.to_s # => "<a>bar</a>"
e[0].value = "<a>"
e.to_s # => "<a><a></a>"
//} -
TracePoint
# return _ value -> object (18340.0) -
メソッドやブロックの戻り値を返します。
メソッドやブロックの戻り値を返します。
@raise RuntimeError :return、:c_return、:b_return イベントのためのイベ
ントフックの外側で実行した場合に発生します。
//emlist[例][ruby]{
def foo(ret)
ret
end
trace = TracePoint.new(:return) do |tp|
p tp.return_value # => 1
end
trace.enable
foo 1
//} -
CSV
:: Table # values _ at(indices _ or _ headers) -> Array (18337.0) -
デフォルトのミックスモードでは、インデックスのリストを与えると行単位の 参照を行い、行の配列を返します。他の方法は列単位の参照と見なします。行 単位の参照では、返り値は行ごとの配列を要素に持つ配列です。
デフォルトのミックスモードでは、インデックスのリストを与えると行単位の
参照を行い、行の配列を返します。他の方法は列単位の参照と見なします。行
単位の参照では、返り値は行ごとの配列を要素に持つ配列です。
探索方法を変更したい場合は CSV::Table#by_col!,
CSV::Table#by_row! を使用してください。
アクセスモードを混在させることはできません。
//emlist[例 ロウモード][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
r... -
Hash
# transform _ values -> Enumerator (18322.0) -
すべての値に対してブロックを呼び出した結果で置き換えたハッシュを返します。 キーは変化しません。
...{ a: 2, b: 5, c: 10 }
h.transform_values(&:to_s) #=> { a: "1", b: "2", c: "3" }
h.transform_values.with_index {|v, i| "#{v}.#{i}" }
#=> { a: "1.0", b: "2.1", c: "3.2" }
//}
@see Hash#transform_values!
@see Hash#transform_keys
@see Hash#transform_keys!... -
Hash
# transform _ values! -> Enumerator (18322.0) -
すべての値に対してブロックを呼び出した結果でハッシュの値を変更します。 キーは変化しません。
すべての値に対してブロックを呼び出した結果でハッシュの値を変更します。
キーは変化しません。
@return transform_values! は常に self を返します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを
返します。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.transform_values! {|v| v * v + 1 } #=> { a: 2, b: 5, c: 10 }
h.transform_values!(&:to_s) #=> ... -
Array
# values _ at(*selectors) -> Array (18319.0) -
引数で指定されたインデックスに対応する要素を配列で返します。インデッ クスに対応する値がなければ nil が要素になります。
引数で指定されたインデックスに対応する要素を配列で返します。インデッ
クスに対応する値がなければ nil が要素になります。
@param selectors インデックスを整数もしくは整数の Range で指定します。
//emlist[例][ruby]{
ary = %w( a b c d e )
p ary.values_at( 0, 2, 4 ) #=> ["a", "c", "e"]
p ary.values_at( 3, 4, 5, 6, 35 ) #=> ["d", "e", nil, nil, nil]
p ary.values_at( 0, -1,... -
Enumerator
# next _ values -> Array (18319.0) -
「次」のオブジェクトを配列で返します。
「次」のオブジェクトを配列で返します。
Enumerator#next とほぼ同様の挙動をします。終端まで到達した場合は
StopIteration 例外を発生させます。
このメソッドは、
yield
と
yield nil
を区別するために使えます。
next メソッドによる外部列挙の状態は他のイテレータメソッドによる
内部列挙には影響を与えません。
ただし、 IO#each_line のようにおおもとの列挙メカニズムが副作用を
伴っている場合には影響があり得ます。
//emlist[例: next と next_values の違いを][ruby]{
o = Object... -
Enumerator
# peek _ values -> Array (18319.0) -
Enumerator#next_values のように「次」のオブジェクトを 配列で返しますが、列挙状態を変化させません。
Enumerator#next_values のように「次」のオブジェクトを
配列で返しますが、列挙状態を変化させません。
Enumerator#next, Enumerator#next_values のように
現在までの列挙状態に応じて「次」のオブジェクトを返しますが、
next と異なり列挙状態を変更しません。
列挙が既に最後へ到達している場合は、StopIteration 例外を発生します。
このメソッドは Enumerator#next_values と同様
yield
と
yield nil
を区別するために使えます。
//emlist[例][ruby]{
o =... -
Hash
# fetch _ values(key , . . . ) -> [object] (18319.0) -
引数で指定されたキーに関連づけられた値の配列を返します。
引数で指定されたキーに関連づけられた値の配列を返します。
該当するキーが登録されていない時には、ブロックが与えられていればそのブ
ロックを評価した値を返します。ブロックが与えられていない時は
KeyError が発生します。
self にデフォルト値が設定されていても無視されます(挙動に変化がありません)。
@param key 探索するキーを任意個指定します。
@raise KeyError ブロックが与えられてない時にキーの探索に失敗すると発生します。
//emlist[例][ruby]{
h = { "cat" => "feline", "dog" => "canine", ... -
Hash
# fetch _ values(key , . . . ) { |key| . . . } -> [object] (18319.0) -
引数で指定されたキーに関連づけられた値の配列を返します。
引数で指定されたキーに関連づけられた値の配列を返します。
該当するキーが登録されていない時には、ブロックが与えられていればそのブ
ロックを評価した値を返します。ブロックが与えられていない時は
KeyError が発生します。
self にデフォルト値が設定されていても無視されます(挙動に変化がありません)。
@param key 探索するキーを任意個指定します。
@raise KeyError ブロックが与えられてない時にキーの探索に失敗すると発生します。
//emlist[例][ruby]{
h = { "cat" => "feline", "dog" => "canine", ... -
Hash
# values -> [object] (18319.0) -
ハッシュの全値の配列を返します。
ハッシュの全値の配列を返します。
//emlist[例][ruby]{
h1 = { "a" => 100, 2 => ["some"], :c => "c" }
p h1.values #=> [100, ["some"], "c"]
//}
@see Hash#keys,Hash#to_a -
Hash
# values _ at(*keys) -> [object] (18319.0) -
引数で指定されたキーに対応する値の配列を返します。
引数で指定されたキーに対応する値の配列を返します。
キーに対応する要素がなければデフォルト値が使用されます。
@param keys キーを 0 個以上指定します。
@return 引数で指定されたキーに対応する値の配列を返します。
引数が指定されなかった場合は、空の配列を返します。
//emlist[例][ruby]{
h = {1=>"a", 2=>"b", 3=>"c"}
p h.values_at(1,3,4) #=> ["a", "c", nil]
# [h[1], h[3] ,h[4]] と同じ
//}
@see Hash#... -
MatchData
# values _ at(*index) -> [String] (18319.0) -
正規表現中の n 番目の括弧にマッチした部分文字列の配列を返します。
正規表現中の n 番目の括弧にマッチした部分文字列の配列を返します。
0 番目は $& のようにマッチした文字列全体を表します。
@param index インデックスを整数またはシンボル(名前付きキャプチャの場合)で 0 個以上指定します。
//emlist[例][ruby]{
m = /(foo)(bar)(baz)/.match("foobarbaz")
# same as m.to_a.values_at(...)
p m.values_at(0, 1, 2, 3, 4) # => ["foobarbaz", "foo", "bar", "baz", nil]
p m... -
Struct
# values _ at(*members) -> [object] (18319.0) -
引数で指定されたメンバの値の配列を返します。
引数で指定されたメンバの値の配列を返します。
@param members Integer か Range でメンバのインデックスを指定します。
@raise IndexError member が整数で存在しないメンバを指定した場合に発生します。
//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar, :baz)
obj = Foo.new('FOO', 'BAR', 'BAZ')
p obj.values_at(0, 1, 2) # => ["FOO", "BAR", "BAZ"]
//}
[注意] 本メソッドの記述は Struct の... -
ruby 1
. 8 . 4 feature (13606.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用語集 (11656.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
...ってメソッド呼び出し等に
制限を課していた。
しかし、Ruby 2.7 でこの機構は実質的に無効化されて、
Ruby 3.2 で削除された。
: 鬼雲
: Onigmo
Ruby 2.0 以降採用されている正規表現エンジン。鬼車のフォーク。
参照:spe......に基づき、行える操作に制限を加える仕組み。
しかし、Ruby 2.7 でこの機構は実質的に無効化されて、
Ruby 3.2 で削除された。
: セッター
: setter
オブジェクトのインスタンス変数に値を代入するためのメソッド。
イン... -
ruby 1
. 9 feature (11578.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
ruby 1.9 feature
ruby version 1.9.0 は開発版です。
以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。
1.9.1 以降は安定版です。
バグ修正がメインになります。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
* [parser]: 文法の変更
* [regexp]: 正規表現の機能拡張
* [marshal]: Marshal ファイルのフォーマット変更
* ... -
ruby 1
. 8 . 3 feature (11050.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
ruby 1.8.3 feature
*((<ruby 1.8 feature>))
*((<ruby 1.8.2 feature>))
ruby 1.8.2 から ruby 1.8.3 までの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ... -
NEWS for Ruby 3
. 1 . 0 (9730.0) -
NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...した。
* RubyGems 3.3.3
* base64 0.1.1
* benchmark 0.2.0
* bigdecimal 3.1.1
* bundler 2.3.3
* cgi 0.3.1
* csv 3.2.2
* date 3.2.2
* did_you_mean 1.6.1
* digest 3.1.0
* drb 2.1.0
* erb 2.2.3
* error_highlight 0.3.0
* etc 1.3.0
* fcntl 1.0.......以下のbundled gemsが更新されました。
* minitest 5.15.0
* power_assert 2.0.1
* rake 13.0.6
* test-unit 3.5.3
* rexml 3.2.5
* rbs 2.0.0
* typeprof 0.21.1
* 以下のdefault gemsがbundled gemsに変更されました。
* net-ftp 0.1.3
* net-imap 0.2.......12913
* Psych 4.0では、デフォルトで Psych.load が Psych.safe_load に変更されました。この動作に移行するにはPsych 3.3.2を使用する必要があるかもしれません。 17866
== C API の更新
* ドキュメント化されました。 https://github.com/ruby/... -
NEWS for Ruby 3
. 0 . 0 (9640.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...h
* Update to Psych 3.3.0
* This version is Ractor compatible.
* Reline
* Update to Reline 0.1.5
* RubyGems
* Update to RubyGems 3.2.3
* StringIO
* Update to StringIO 3.0.0
* This version is Ractor compatible.
* StringScanner
* Update to StringScanner 3.0.0
*... -
NEWS for Ruby 2
. 4 . 0 (9424.0) -
NEWS for Ruby 2.4.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.4.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.3.0 以降の変更
=== 言語仕様の変更
* 条件式での多重代入ができるようになりました 10617
* Symbol#to_proc でメソッド呼び出し元での Refinements が有効になりました 9451
* Ob... -
NEWS for Ruby 2
. 5 . 0 (9424.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.5.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.4.0 以降の変更
=== 言語仕様の変更
* トップレベルの定数参照を削除しました 11547
* do/end ブロック内部で rescue/else/ensure を書けるようになりました 12906
* 文字列の式展... -
Struct
# values -> [object] (9319.0) -
構造体のメンバの値を配列にいれて返します。
構造体のメンバの値を配列にいれて返します。
//emlist[例][ruby]{
Customer = Struct.new(:name, :address, :zip)
Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345).to_a
# => ["Joe Smith", "123 Maple, Anytown NC", 12345]
//}
[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してくだ... -
NEWS for Ruby 2
. 0 . 0 (9280.0) -
NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 1.9.3 以降の変更
=== 言語仕様の変更
* キーワード引数を追加しました
* %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
* デフォルトのソースエンコーディングを US-ASCI... -
NEWS for Ruby 2
. 2 . 0 (9154.0) -
NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.2.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.1.0 以降の変更
=== 言語仕様の変更
* nil/true/false
* nil/true/false はフリーズされました 8923
* Hash リテラル
* 後ろにコロンのあるシンボルをキーにしたと... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (4303.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への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
Array
# pack(template) -> String (1801.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上... -
Array
# pack(template , buffer: String . new) -> String (1801.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上... -
String
# unpack(template) -> Array (1783.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
Array#pack で生成された文字列を
テンプレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大... -
pack テンプレート文字列 (1783.0)
-
pack テンプレート文字列
pack テンプレート文字列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大抵、
"iiii"
のように連続するテンプレート文字は
"i4"
と書き換えることができます。
テンプレート文字列中の空白類は無視されます。
また、`#' から改行あるいはテンプレート文字列の最後まではコメントとみな
され無視されます。... -
VALUE Data
_ Make _ Struct(VALUE klass , type , RUBY _ DATA _ FUNC mark , RUBY _ DATA _ FUNC free , type *svar) (1321.0) -
type 型の構造体をヒープに割り当ててそれへのポインタを svar に代入し、クラス klass のインスタンスである Ruby のオブジェクトを生成し、それを返します。mark free はそれぞれマーク用・解放用の関数へのポインタです。 どちらも、必要ないときはかわりに 0 を渡します。
type 型の構造体をヒープに割り当ててそれへのポインタを
svar に代入し、クラス klass のインスタンスである
Ruby のオブジェクトを生成し、それを返します。mark
free はそれぞれマーク用・解放用の関数へのポインタです。
どちらも、必要ないときはかわりに 0 を渡します。
また RUBY_DATA_FUNC の定義は以下のようです。
typedef void (*RUBY_DATA_FUNC)(void *st)
第一引数 st には svar の値が渡されます。
使用例
struct mytype {
int i;
... -
VALUE Data
_ Wrap _ Struct(VALUE klass , RUBY _ DATA _ FUNC mark , RUBY _ DATA _ FUNC free , void *sval) (1321.0) -
C の構造体 sval をラップして klass クラスの インスタンスである Ruby オブジェクトを生成し、それを返します。 mark、free はそれぞれ sval のマーク用・解放用の 関数へのポインタです。どちらも、必要ないときはかわりに 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 rb
_ data _ object _ alloc(VALUE klass , void *datap , RUBY _ DATA _ FUNC dmark , RUBY _ DATA _ FUNC dfree) (1201.0) -
datap をラップするオブジェクトを生成し、返します。 そのクラスは klass となり、datap をマークするときは dmark、解放するときは dfree を使うようになります。
datap をラップするオブジェクトを生成し、返します。
そのクラスは klass となり、datap をマークするときは
dmark、解放するときは dfree を使うようになります。 -
VALUE rb
_ assoc _ new(VALUE a , VALUE b) (973.0) -
[a,b] を返します。
[a,b] を返します。
対応するRubyコード
[a, b]
使用例
VALUE assoc_string(VALUE str_a, VALUE str_b)
{
Check_Type(str_a, T_STRING);
Check_Type(str_b, T_STRING);
return rb_assoc_new(str_a, str_b);
} -
VALUE rb
_ define _ class _ under(VALUE outer , const char *name , VALUE super) (949.0) -
super のサブクラスとして新しい Ruby クラスを、outer の定数として定義し て返します。
super のサブクラスとして新しい Ruby クラスを、outer の定数として定義し
て返します。
@param outer 定義するクラスが定数として所属するクラス
@param name クラス名
@param super 継承元のクラス。NULL を指定した場合は Object クラス
@raise TypeError 引数 name と同じ名前の定数が既に存在し、それが
Class オブジェクトではない場合に発生します。
@raise TypeError 定義済みのクラスと継承元のクラスが一致しない場合に発生
... -
VALUE rb
_ protect(VALUE (*proc)() , VALUE data , int *state) (949.0) -
初出: 4064
初出: 4064
proc(data) を評価中のあらゆる大域脱出(例外を含む)を捕捉します。
val = rb_protect(func, arg, &status);
if (status != 0) {
puts("大域脱出が起きた");
rb_jump_tag(status);
} -
static VALUE id2ref(VALUE obj
, VALUE id) (949.0) -
ObjectSpace#_id2ref の実体。 Ruby の整数で表されたオブジェクト ID id から オブジェクトを返します。
ObjectSpace#_id2ref の実体。
Ruby の整数で表されたオブジェクト ID id から
オブジェクトを返します。 -
static VALUE yield
_ under(VALUE under , VALUE self) (949.0) -
モジュール under の元のコンテキストで ruby_block を評価します。
モジュール under の元のコンテキストで
ruby_block を評価します。 -
VALUE rb
_ ary _ push(VALUE ary , VALUE item) (937.0) -
配列 ary の末尾に item を追加します。
配列 ary の末尾に item を追加します。
対応するRubyコード
ary.push(item) または
ary << item
使用例
VALUE ary = rb_ary_new();
char line[4096];
while ((gets(line)) != NULL){
item = process_apache_log(line);
rb_ary_push(ary, item);
} -
クラス/メソッドの定義 (901.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... -
void rb
_ define _ method(VALUE klass , const char *name , VALUE(*func)() , int argc) (799.0) -
クラスklassのインスタンスメソッドnameを定義します。
クラスklassのインスタンスメソッドnameを定義します。
argcはCの関数へ渡される引数の数(と形式)を決めます.
: argcが0以上の時
argcで指定した値がそのメソッドの引数の数になります。
16個以上の引数は使えません,
VALUE func(VALUE self, VALUE arg1, ... VALUE argN)
: argcが-1のとき
引数はCの配列として第二引数に入れて渡されます。
第一引数は配列の要素数です。
VALUE func(int argc, VALUE *argv, VALUE... -
Marshal フォーマット (775.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
Marshal フォーマット
フォーマットバージョン 4.8 を元に記述しています。
=== nil, true, false
それぞれ、'0', 'T', 'F' になります。
//emlist[][ruby]{
p Marshal.dump(nil).unpack1("x2 a*") # => "0"
p Marshal.dump(true).unpack1("x2 a*") # => "T"
p Marshal.dump(false).unpack1("x2 a*") # => "F"
//}
Ruby 2.1 以前では、インスタンス変数を設定しても dump されません... -
VALUE rb
_ ary _ new3(long n , VALUE i0 , i1 , i2 , . . . ) (685.0) -
長さ n で要素に i0 i1 i2 …を格納した Ruby の配列を作成し返します。
長さ n で要素に i0 i1 i2 …を格納した
Ruby の配列を作成し返します。
対応するRubyコード
ary = Array[i0, i1, i2...] または
ary = [i0, i1, i2...]
使用例
VALUE ary;
int i[3] = { 1, 2, 3 };
ary = rb_ary_new3(3, INT2FIX(i[0]), INT2FIX(i[1]), INT2FIX(i[2])); -
void rb
_ ary _ store(VALUE ary , long idx , VALUE val) (685.0) -
配列 ary のインデックス idx に val を格納します。idx が範囲を越えるときは Ruby レベルと同じく自動的にサイズが拡張されます。
配列 ary のインデックス idx に
val を格納します。idx が範囲を越えるときは
Ruby レベルと同じく自動的にサイズが拡張されます。
対応するRubyコード
ary[idx] = val
使用例
VALUE ary;
int idx;
int n[5] = { 1, 2, 3, 4, 5 };
ary = rb_ary_new();
for (idx=0; idx<5; idx++) rb_ary_store(ary, idx, INT2FIX(n[idx])); -
パターンマッチ (685.0)
-
パターンマッチ * patterns * variable_binding * variable_pinning * matching_non_primitive_objects * guard_clauses * current_feature_status * pattern_syntax * some_undefined_behavior_examples
パターンマッチ
* patterns
* variable_binding
* variable_pinning
* matching_non_primitive_objects
* guard_clauses
* current_feature_status
* pattern_syntax
* some_undefined_behavior_examples
パターンマッチは、構造化された値に対して、構造をチェックし、マッチした部分をローカル変数に束縛するという、深いマッチを可能にする機能です。(『束縛』は、パターンマッチの輸入元である関数型言語の用語で... -
VALUE rb
_ ary _ entry(VALUE ary , long offset) (655.0) -
ary のインデックス offset の要素を返します。
ary のインデックス offset の要素を返します。
インデックスが範囲を越えるときは Qnil を返します。
負のインデックスも使えます。
対応するRubyコード
ary[offset] または
ary.at(offset)
使用例
VALUE num;
num = rb_ary_entry(ary, offset);
printf("%d\n", FIX2INT(num));
キャストを使った要素の参照方法
VALUE num = RARRAY(ary)->ptr[offset]; -
VALUE rb
_ Integer(VALUE obj) (649.0) -
obj が Ruby の整数でない場合は to_i を使って Integer に変換します。
obj が Ruby の整数でない場合は to_i を使って
Integer に変換します。 -
VALUE rb
_ call _ super(int argc , const VALUE *argv) (649.0) -
Rubyレベルでの super です。 現在評価中のメソッドのスーパークラスのメソッドを呼び出します。
Rubyレベルでの super です。
現在評価中のメソッドのスーパークラスのメソッドを呼び出します。 -
VALUE rb
_ class _ real(VALUE cl) (649.0) -
特異クラスや化身クラス (T_ICLASS) を飛ばして cl の スーパークラスを辿り、Ruby レベルに露出してもよいクラスを返します。
特異クラスや化身クラス (T_ICLASS) を飛ばして cl の
スーパークラスを辿り、Ruby レベルに露出してもよいクラスを返します。
例:
rb_class_real(RBASIC(klass)->super)
rb_obj_class(obj) は、obj のクラスを返す汎用の関数(Object#type と
同じ)だが、obj が Qtrue などでない RBasic 構造のものであることが
わかっているなら
rb_class_real(RBASIC(obj)->klass)
でも良い。(が、やはり rb_obj_class(obj) を使う方が無難だろう)... -
VALUE rb
_ gv _ set(const char *name , VALUE val) (649.0) -
Ruby のグローバル変数 name に val を代入します。 val を返します。
Ruby のグローバル変数 name に val を代入します。
val を返します。 -
VALUE rb
_ to _ int(VALUE val) (649.0) -
val を to_int メソッドを使って Ruby の整数に変換します。
val を to_int メソッドを使って Ruby の整数に変換します。 -
static VALUE find
_ class _ path(VALUE klass) (649.0) -
クラス klass のクラスパスを探索し、Ruby の文字列で返します。
クラス klass のクラスパスを探索し、Ruby の文字列で返します。 -
VALUE rb
_ ary _ pop(VALUE ary) (637.0) -
配列 ary の末尾の要素をとりのぞき返します。 空配列のときは Qnil を返します。
配列 ary の末尾の要素をとりのぞき返します。
空配列のときは Qnil を返します。
対応するRubyコード
val = ary.pop
使用例
last_error = rb_ary_pop(err_ary);
VALUE str = rb_funcall(last_error, rb_intern("to_s"), 0); -
VALUE rb
_ ary _ shift(VALUE ary) (619.0) -
配列 ary の先頭の要素を取り除き返します。 空配列のときは Qnil を返します。
配列 ary の先頭の要素を取り除き返します。
空配列のときは Qnil を返します。
対応するRubyコード
val = ary.shift -
cgi (559.0)
-
CGI プログラムの支援ライブラリです。
...y + " --> " + value + "\n"
end.join("")
)
end
end
end
end
# HTML生成メソッドを追加
CGI.new("html3") # html3.2
CGI.new("html4") # html4.0 (Strict)
CGI.new("html4Tr") # html4.0 Transitional
CGI.new("html4Fr") # html4.0 Frameset
//}
==== ファイルの......3") # HTML3.2に準拠したHTML生成メソッドを追加
cgi.h1
# <H1></h1>
cgi.h1{ "content" }
# <H1>content</H1>
cgi.h1({ "class" => "foo", "attr" => "bar" }){ "content" }
# <H1 class="foo" attr="bar">content</H1>
# HTML生成メソッドを追加
CGI.new("html3") # html3.2
CGI.new("... -
NODE * rb
_ compile _ file(const char *f , VALUE file , int start) (541.0) -
Ruby の IO オブジェクト file から文字列を読み込み、 それを Ruby プログラムとして構文木にコンパイルします。 作成した構文木は ruby_eval_tree と ruby_eval_tree_begin に 格納し、同時に ruby_eval_tree を返します。 またコンパイルするときにファイル f の line 行目からをコンパイル していると仮定します。
Ruby の IO オブジェクト file から文字列を読み込み、
それを Ruby プログラムとして構文木にコンパイルします。
作成した構文木は ruby_eval_tree と ruby_eval_tree_begin に
格納し、同時に ruby_eval_tree を返します。
またコンパイルするときにファイル f の line 行目からをコンパイル
していると仮定します。 -
Rake
:: TaskArguments . new(names , values , parent = nil) (499.0) -
自身を初期化します。
自身を初期化します。
@param names パラメータの名前のリストを指定します。
@param values パラメータの値のリストを指定します。
@param parent 親となる Rake::TaskArguments を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
arguments1 = Rake::TaskArguments.new(["name1", "name2"], ["value1", "value2"])... -
ENV
. []=(key , value) (493.0) -
key に対応する環境変数の値を value にします。 value が nil の時、key に対応する環境変数を取り除きます。
key に対応する環境変数の値を value にします。
value が nil の時、key に対応する環境変数を取り除きます。
@param key 環境変数名を指定します。文字列で指定します。文字列以外のオ
ブジェクトを指定した場合は to_str メソッドによる暗黙の型変
換を試みます。
@param value 置き換えるべき値を指定します。文字列で指定します。文字列以
外のオブジェクトを指定した場合は to_str メソッドによる暗黙
の型変換を試みます。
@retur... -
ENV
. store(key , value) -> String (493.0) -
key に対応する環境変数の値を value にします。 value が nil の時、key に対応する環境変数を取り除きます。
key に対応する環境変数の値を value にします。
value が nil の時、key に対応する環境変数を取り除きます。
@param key 環境変数名を指定します。文字列で指定します。文字列以外のオ
ブジェクトを指定した場合は to_str メソッドによる暗黙の型変
換を試みます。
@param value 置き換えるべき値を指定します。文字列で指定します。文字列以
外のオブジェクトを指定した場合は to_str メソッドによる暗黙
の型変換を試みます。
@retur... -
NODE * rb
_ compile _ string(const char *f , VALUE s , int line) (493.0) -
Ruby の文字列 s を構文木にコンパイルし、ruby_eval_tree と ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。 またコンパイルするときにファイル f の line 行目からをコンパイル していると仮定します。
Ruby の文字列 s を構文木にコンパイルし、ruby_eval_tree と
ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。
またコンパイルするときにファイル f の line 行目からをコンパイル
していると仮定します。 -
Hash
# []=(key , value) (475.0) -
key に対して value を関連づけます。value を返し ます。
key に対して value を関連づけます。value を返し
ます。
@param key キーを指定します。
@param value 値を指定します。
//emlist[例][ruby]{
h = {}
h[:key] = "value"
p h #=>{:key => "value"}
//}
@see Hash#[] -
Hash
# store(key , value) -> object (475.0) -
key に対して value を関連づけます。value を返し ます。
key に対して value を関連づけます。value を返し
ます。
@param key キーを指定します。
@param value 値を指定します。
//emlist[例][ruby]{
h = {}
h[:key] = "value"
p h #=>{:key => "value"}
//}
@see Hash#[] -
ENV
. delete _ if {|key , value| . . . } -> ENV (445.0) -
key と value を引数としてブロックを評価した値が真であ る時、環境変数を削除します。
key と value を引数としてブロックを評価した値が真であ
る時、環境変数を削除します。
reject! は要素に変化がなければ nil を返します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.delete_if { |key, value| key == 'FOO' && value == 'bar' } # => ENV
ENV.reject! { |key, value| key == 'FOO' && value == 'bar' } # => nil
//} -
ENV
. each {|key , value| . . . } -> self (445.0) -
key と value を引数としてブロックを評価します。
key と value を引数としてブロックを評価します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.each do |key, value|
p "value is #{value}" if key == 'FOO' # => "value is bar"
end
# => ENV
//} -
ENV
. each _ pair {|key , value| . . . } -> self (445.0) -
key と value を引数としてブロックを評価します。
key と value を引数としてブロックを評価します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.each do |key, value|
p "value is #{value}" if key == 'FOO' # => "value is bar"
end
# => ENV
//} -
ENV
. reject! {|key , value| . . . } -> ENV | nil (445.0) -
key と value を引数としてブロックを評価した値が真であ る時、環境変数を削除します。
key と value を引数としてブロックを評価した値が真であ
る時、環境変数を削除します。
reject! は要素に変化がなければ nil を返します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.delete_if { |key, value| key == 'FOO' && value == 'bar' } # => ENV
ENV.reject! { |key, value| key == 'FOO' && value == 'bar' } # => nil
//} -
GC
. stress=(value) (436.0) -
GCのストレスモードを引数 value に設定します。 引数 value が真に設定されている間は、GC を行えるすべての機会に GC を行います。
GCのストレスモードを引数 value に設定します。
引数 value が真に設定されている間は、GC を行えるすべての機会に GC を行います。
この機能はデバッグ用途に提供されています。ストレスモードを有効にすると
プログラムのパフォーマンスが低下します。
@param value 任意のオブジェクト。整数以外の値を指定した場合は真偽値として解釈されます。
整数を指定する場合は以下のフラグをOR演算した値を指定します。
: 0x01
マイナー GC を動作させる場合に指定します。
: 0x02
sweep を遅らせる(Lazy Sweep を行う)... -
Module
# const _ set(name , value) -> object (436.0) -
モジュールに name で指定された名前の定数を value とい う値として定義し、value を返します。
モジュールに name で指定された名前の定数を value とい
う値として定義し、value を返します。
そのモジュールにおいてすでにその名前の定数が定義されている場合、警
告メッセージが出力されます。
@param name Symbol,String で定数の名前を指定します。
@param value セットしたい値を指定します。
//emlist[例][ruby]{
module Foo; end
# Symbolを指定した場合
Foo.const_set(:FOO, 123)
Foo::FOO # => 123
# Stringを指定した場合
Foo.const_... -
Struct
# []=(member , value) (436.0) -
構造体の member で指定されたメンバの値を value にして value を返します。
構造体の member で指定されたメンバの値を value にして value を返します。
@param member Integer でメンバのインデックスを指定します。
Symbol, String でメンバの名前を指定します。
@param value メンバに設定する値を指定します。
@raise IndexError member が整数で存在しないメンバを指定した場合に発生します。
@raise NameError member が String, Symbol で存在しないメンバを指定した場合に発生します。
[注意] 本メソッドの記述は ... -
Hash
# delete _ if {|key , value| . . . } -> self (433.0) -
キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。
キーと値を引数としてブロックを評価した結果が真であ
るような要素を self から削除します。
delete_if は常に self を返します。
reject! は、要素を削除しなかった場合には nil を返し、
そうでなければ self を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
h = { 2 => "8" ,4 => "6" ,6 => "4" ,8 => "2" }
p h.reject!{|key, value| key.to_i < value.to_i } #=> { 6 => "4", 8 =... -
Hash
# reject! {|key , value| . . . } -> self|nil (433.0) -
キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。
キーと値を引数としてブロックを評価した結果が真であ
るような要素を self から削除します。
delete_if は常に self を返します。
reject! は、要素を削除しなかった場合には nil を返し、
そうでなければ self を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
h = { 2 => "8" ,4 => "6" ,6 => "4" ,8 => "2" }
p h.reject!{|key, value| key.to_i < value.to_i } #=> { 6 => "4", 8 =... -
int rb
_ scan _ args(int argc , const VALUE *argv , const char *fmt , . . . ) (427.0) -
長さ argc の配列 argv を fmt に従って 解析し、第四引数以降で渡されたアドレスに書き込みます。
長さ argc の配列 argv を fmt に従って
解析し、第四引数以降で渡されたアドレスに書き込みます。
fmt のフォーマットは以下の通りです。
* 必須引数の数 (省略可能な引数があるなら省略不可)
* 省略可能な引数の数 (ゼロ個ならば省略可)
* 残りの引数を Ruby の配列として受け取ることを示す '*' (省略可)
* 最後の引数をオプションハッシュとして受け取る事を示す ':' (省略可)
* ブロックを Proc オブジェクト化して受け取ることを示す '&' (省略可)
これらの指定文字はそれぞれ省略可能ですが、
必ずこの順番で現れなければい... -
Hash
# default=(value) (424.0) -
ハッシュのデフォルト値を value に変更します。対応する値が存 在しないキーで検索した時にはこの値を返すようになります。
ハッシュのデフォルト値を value に変更します。対応する値が存
在しないキーで検索した時にはこの値を返すようになります。
デフォルト値(ブロックを含む)が既に設定してあった場合も value で上書きします。
@param value 設定するデフォルト値です。
@return value を返します。
//emlist[例][ruby]{
h = {}
p h.default #=>nil
h.default = "default"
p h.default #=>"default"
//}
@see Hash#default -
Hash
. [](*key _ and _ value) -> Hash (409.0) -
新しいハッシュを生成します。 引数は必ず偶数個指定しなければなりません。奇数番目がキー、偶数番目が値になります。
新しいハッシュを生成します。
引数は必ず偶数個指定しなければなりません。奇数番目がキー、偶数番目が値になります。
このメソッドでは生成するハッシュにデフォルト値を指定することはできません。
Hash.newを使うか、Hash#default=で後から指定してください。
@param key_and_value 生成するハッシュのキーと値の組です。必ず偶数個(0を含む)指定しなければいけません。
@raise ArgumentError 奇数個の引数を与えたときに発生します。
以下は配列からハッシュを生成する方法の例です。
(1) [キー, 値, ...] の配列からハッシュへ
//... -
Object
# instance _ variable _ set(var , value) -> object (406.0) -
オブジェクトのインスタンス変数 var に値 value を設定します。
オブジェクトのインスタンス変数 var に値 value を設定します。
インスタンス変数が定義されていなければ新たに定義されます。
@param var インスタンス変数名を文字列か Symbol で指定します。
@param value 設定する値です。
@return value を返します。
//emlist[][ruby]{
obj = Object.new
p obj.instance_variable_set("@foo", 1) #=> 1
p obj.instance_variable_set(:@foo, 2) #=> 2
p obj.instance_var... -
VALUE LL2NUM(long long v) (397.0)
-
例: long long n = 42; VALUE num = LL2NUM(n); // (long longの整数42をRubyのオブジェクトに変換)
例:
long long n = 42;
VALUE num = LL2NUM(n); // (long longの整数42をRubyのオブジェクトに変換) -
OpenSSL
:: ASN1 . # BMPString(value) -> OpenSSL :: ASN1 :: BMPString -> OpenSSL :: ASN1 :: BMPString (391.0) -
ASN.1 の BMPString 型の値を表現する Ruby のオブジェクトを 生成します。
ASN.1 の BMPString 型の値を表現する Ruby のオブジェクトを
生成します。
OpenSSL::ASN1::BMPString.new と同じです。
@param value ASN.1 値を表す Ruby のオブジェクト(文字列)
@param tag タグ番号
@param tagging タグ付けの方法(:IMPLICIT もしくは :EXPLICIT)
@param tag_class タグクラス(:UNIVERSAL, :CONTEXT_SPECIFIC, :APPLICATION, :PRIVATE のいずれか) -
OpenSSL
:: ASN1 . # BMPString(value , tag , tagging , tag _ class) -> OpenSSL :: ASN1 :: BMPString (391.0) -
ASN.1 の BMPString 型の値を表現する Ruby のオブジェクトを 生成します。
ASN.1 の BMPString 型の値を表現する Ruby のオブジェクトを
生成します。
OpenSSL::ASN1::BMPString.new と同じです。
@param value ASN.1 値を表す Ruby のオブジェクト(文字列)
@param tag タグ番号
@param tagging タグ付けの方法(:IMPLICIT もしくは :EXPLICIT)
@param tag_class タグクラス(:UNIVERSAL, :CONTEXT_SPECIFIC, :APPLICATION, :PRIVATE のいずれか) -
OpenSSL
:: ASN1 . # BitString(value) -> OpenSSL :: ASN1 :: BitString -> OpenSSL :: ASN1 :: BitString (391.0) -
ASN.1 の BitString 型の値を表現する Ruby のオブジェクトを 生成します。
ASN.1 の BitString 型の値を表現する Ruby のオブジェクトを
生成します。
OpenSSL::ASN1::BitString.new と同じです。
@param value ASN.1 値を表す Ruby のオブジェクト(文字列)
@param tag タグ番号
@param tagging タグ付けの方法(:IMPLICIT もしくは :EXPLICIT)
@param tag_class タグクラス(:UNIVERSAL, :CONTEXT_SPECIFIC, :APPLICATION, :PRIVATE のいずれか) -
OpenSSL
:: ASN1 . # BitString(value , tag , tagging , tag _ class) -> OpenSSL :: ASN1 :: BitString (391.0) -
ASN.1 の BitString 型の値を表現する Ruby のオブジェクトを 生成します。
ASN.1 の BitString 型の値を表現する Ruby のオブジェクトを
生成します。
OpenSSL::ASN1::BitString.new と同じです。
@param value ASN.1 値を表す Ruby のオブジェクト(文字列)
@param tag タグ番号
@param tagging タグ付けの方法(:IMPLICIT もしくは :EXPLICIT)
@param tag_class タグクラス(:UNIVERSAL, :CONTEXT_SPECIFIC, :APPLICATION, :PRIVATE のいずれか) -
OpenSSL
:: ASN1 . # Enumerated(value) -> OpenSSL :: ASN1 :: Enumerated (391.0) -
ASN.1 の Enumerated 型の値を表現する Ruby のオブジェクトを 生成します。
ASN.1 の Enumerated 型の値を表現する Ruby のオブジェクトを
生成します。
OpenSSL::ASN1::Enumerated.new と同じです。
@param value ASN.1 値を表す Ruby のオブジェクト(0以上の整数)
@param tag タグ番号
@param tagging タグ付けの方法(:IMPLICIT もしくは :EXPLICIT)
@param tag_class タグクラス(:UNIVERSAL, :CONTEXT_SPECIFIC, :APPLICATION, :PRIVATE のいずれか) -
OpenSSL
:: ASN1 . # Enumerated(value , tag , tagging , tag _ class) -> OpenSSL :: ASN1 :: Enumerated (391.0) -
ASN.1 の Enumerated 型の値を表現する Ruby のオブジェクトを 生成します。
ASN.1 の Enumerated 型の値を表現する Ruby のオブジェクトを
生成します。
OpenSSL::ASN1::Enumerated.new と同じです。
@param value ASN.1 値を表す Ruby のオブジェクト(0以上の整数)
@param tag タグ番号
@param tagging タグ付けの方法(:IMPLICIT もしくは :EXPLICIT)
@param tag_class タグクラス(:UNIVERSAL, :CONTEXT_SPECIFIC, :APPLICATION, :PRIVATE のいずれか)