別のキーワード
ライブラリ
- ビルトイン (75)
- csv (11)
- digest (7)
- erb (1)
-
net
/ http (6) -
net
/ imap (1) -
net
/ pop (4) -
net
/ smtp (2) - openssl (2)
- prettyprint (2)
- psych (6)
-
rake
/ loaders / makefile (1) -
rdoc
/ parser / ruby (1) -
rexml
/ document (7) - securerandom (1)
- stringio (2)
- timeout (2)
-
webrick
/ httpresponse (1) -
webrick
/ httputils (1) -
webrick
/ log (2) - zlib (11)
クラス
- Array (8)
- BasicObject (2)
- CSV (6)
-
CSV
:: Row (1) -
CSV
:: Table (4) -
Digest
:: Base (7) - Enumerator (9)
-
Enumerator
:: Lazy (1) -
Enumerator
:: Yielder (1) - FrozenError (1)
- Hash (2)
- IO (2)
- Integer (4)
- Method (3)
- Module (1)
-
Net
:: HTTP (4) -
Net
:: HTTPResponse (2) -
Net
:: IMAP (1) -
Net
:: POP3 (1) -
Net
:: POPMail (3) -
Net
:: SMTP (2) - Object (8)
-
OpenSSL
:: BN (1) - PrettyPrint (2)
- Proc (1)
-
Psych
:: Visitors :: YAMLTree (2) -
RDoc
:: Parser :: Ruby (1) -
REXML
:: Attributes (2) -
REXML
:: Elements (2) -
REXML
:: Parent (3) -
Rake
:: MakefileLoader (1) - Regexp (2)
- String (17)
- StringIO (2)
-
Thread
:: SizedQueue (3) -
WEBrick
:: BasicLog (2) -
WEBrick
:: HTTPResponse (1) -
WEBrick
:: HTTPUtils :: FormData (1) -
Zlib
:: Deflate (6) -
Zlib
:: GzipWriter (1) -
Zlib
:: Inflate (4)
モジュール
- Enumerable (4)
- Kernel (5)
-
OpenSSL
:: Buffering (1) - Psych (4)
- SecureRandom (1)
- Timeout (2)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - == (2)
- ERB (1)
-
NEWS for Ruby 2
. 1 . 0 (1) -
NEWS for Ruby 2
. 7 . 0 (1) - Ruby プログラムの実行 (1)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (1)
- SINGLE (1)
- String (1)
- [] (5)
- add (3)
- all (1)
- append (1)
-
append
_ as _ bytes (1) - clone (1)
- combination (2)
-
debug
_ output= (1) -
define
_ singleton _ method (2) - digest (1)
- digest! (1)
- drb (1)
- dup (1)
- each (4)
-
each
_ with _ object (2) - empty? (1)
- enq (1)
- extend (1)
- finish (2)
- flush (1)
-
force
_ quotes? (1) - format (1)
- get (1)
- gets (1)
- gsub (4)
- gsub! (4)
- hexdigest (1)
- hexdigest! (1)
-
initialize
_ copy (1) - inspect (1)
-
irb
/ xmp (1) - load (1)
-
load
_ stream (2) - loop (1)
- mail (1)
- match (2)
- methods (1)
- new (5)
- open (3)
- pack (2)
- pack テンプレート文字列 (1)
- params (1)
- patch (1)
- permutation (1)
- pop (1)
- post (1)
- pp (1)
-
prepend
_ features (1) - push (4)
-
random
_ number (1) -
rb
_ ary _ push (1) - read (1)
-
read
_ body (2) - readline (1)
- readlines (2)
- readpartial (1)
- receiver (1)
-
repeated
_ combination (2) -
rexml
/ parsers / sax2parser (1) -
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 2 feature (1) -
ruby 1
. 8 . 3 feature (1) -
safe
_ load (2) -
set
_ debug _ output (3) -
set
_ dictionary (2) -
singleline
_ format (1) -
singleton
_ method _ removed (1) -
singleton
_ method _ undefined (1) -
singleton
_ methods (1) -
sort
_ by (2) - sub (3)
- sub! (3)
- sum (1)
- timeout (2)
-
to
_ s (2) - unpack (1)
- update (1)
-
webrick
/ cgi (1) -
with
_ index (2) -
with
_ object (2) -
write
_ headers? (1) - クラス/メソッドの定義 (1)
- リテラル (1)
- 変数と定数 (1)
- 演算子式 (1)
検索結果
先頭5件
-
Digest
:: Base # <<(str) -> self (63781.0) -
文字列を追加します。self を返します。 複数回updateを呼ぶことは文字列を連結してupdateを呼ぶことと同じです。 すなわち m.update(a); m.update(b) は m.update(a + b) と、 m << a << b は m << a + b とそれぞれ等価 です。
文字列を追加します。self を返します。
複数回updateを呼ぶことは文字列を連結してupdateを呼ぶことと同じです。
すなわち m.update(a); m.update(b) は
m.update(a + b) と、 m << a << b は m << a + b とそれぞれ等価
です。
@param str 追加する文字列
require 'digest/md5'
digest = Digest::MD5.new
digest.update("r")
digest.update("u")
di... -
OpenSSL
:: BN # <<(other) -> OpenSSL :: BN (63619.0) -
自身を other ビット左シフトした値を返します。
自身を other ビット左シフトした値を返します。
//emlist[][ruby]{
bn = 1.to_bn
pp bn << 1 # => #<OpenSSL::BN 2>
pp bn # => #<OpenSSL::BN 1>
//}
@param other シフトするビット数
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::BN#lshift! -
WEBrick
:: BasicLog # <<(obj) -> () (63619.0) -
指定された obj を to_s メソッドで文字列に変換してから、 ログレベル INFO でログに記録します。
指定された obj を to_s メソッドで文字列に変換してから、
ログレベル INFO でログに記録します。
@param obj 記録したいオブジェクトを指定します。文字列でない場合は to_s メソッドで文字列に変換します。
require 'webrick'
logger = WEBrick::BasicLog.new()
logger << 'hoge' -
REXML
:: Attributes # <<(attribute) -> () (63601.0) -
属性を追加/更新します。
属性を追加/更新します。
attribute で更新する属性(REXML::Attribute オブジェクト)を
指定します。既に同じ名前(REXML::Attribute#name)のオブジェクトが
存在する場合は属性が上書きされ、ない場合は追加されます。
@param attribute 追加(更新)する属性(REXML::Attribute オブジェクト)
@see REXML::Attributes#[]= -
Zlib
:: Deflate # <<(string) -> self (63373.0) -
Zlib::Deflate#deflate と同じように string を 圧縮ストリームに入力しますが、Zlib::Deflate オブジェクト そのものを返します。圧縮ストリームからの出力は、 出力バッファに保存されます。
Zlib::Deflate#deflate と同じように string を
圧縮ストリームに入力しますが、Zlib::Deflate オブジェクト
そのものを返します。圧縮ストリームからの出力は、
出力バッファに保存されます。
@param string 圧縮する文字列を指定します。
require 'zlib'
dez = Zlib::Deflate.new
dez << "123" * 5 << "ugougo" << "123" * 5 << "hogehoge"
dezstr = dez.finish
p dezstr #=> "x\2343426DB\2... -
Zlib
:: GzipWriter # <<(str) -> self (63337.0) -
str を出力します。str が文字列でない場合は to_s を用いて 文字列に変換します。
str を出力します。str が文字列でない場合は to_s を用いて
文字列に変換します。
@param str 出力したいオブジェクトを与えます。
require 'zlib'
filename='hoge1.gz'
fw = File.open(filename, "w")
Zlib::GzipWriter.wrap(fw, Zlib::BEST_COMPRESSION){|gz|
gz << "hoge" << "fuga"
}
fr = File.open(filename)
Zlib::GzipReader.wrap(fr){|gz|
... -
Zlib
:: Inflate # <<(string) -> self (63337.0) -
Zlib::Inflate#inflate と同じように string を 展開ストリームに入力しますが、Zlib::Inflate オブジェクト そのものを返します。展開ストリームからの出力は、 出力バッファに保存されます。
Zlib::Inflate#inflate と同じように string を
展開ストリームに入力しますが、Zlib::Inflate オブジェクト
そのものを返します。展開ストリームからの出力は、
出力バッファに保存されます。
require 'zlib'
cstr = "x\234\313\310OOUH+MOTH\315K\001\000!\251\004\276"
inz = Zlib::Inflate.new
inz << cstr[0, 10]
p inz.flush_next_out #=> "hoge fu"
inz << cstr[10..-1]... -
CSV
:: Table # <<(row _ or _ array) -> self (63319.0) -
自身の最後に新しい行を追加します。
自身の最後に新しい行を追加します。
@param row_or_array CSV::Row のインスタンスか配列を指定します。
配列を指定した場合は CSV::Row に変換されます。
@return メソッドチェーンのために自身を返します。
//emlist[例][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1"... -
OpenSSL
:: Buffering # <<(s) -> self (63301.0) -
文字列 s を書き込みます。
文字列 s を書き込みます。
IO#<< と同様です。
@param s 出力する文字列 -
WEBrick
:: HTTPUtils :: FormData # <<(str) -> self (63301.0) -
WEBrick::HTTPUtils の内部で使われます。ユーザがこのメソッドを直接呼ぶことはありません。
WEBrick::HTTPUtils の内部で使われます。ユーザがこのメソッドを直接呼ぶことはありません。 -
Enumerator
:: Yielder # <<(object) -> () (54691.0) -
Enumerator.new で使うメソッドです。
Enumerator.new で使うメソッドです。
生成された Enumerator オブジェクトの each メソッドを呼ぶと
Enumerator::Yielder オブジェクトが渡されたブロックが実行され、
ブロック内の << が呼ばれるたびに each に渡されたブロックが
<< に渡された値とともに繰り返されます。
//emlist[例][ruby]{
enum = Enumerator.new do |y|
y << 1
y << 2
y << 3
end
enum.each do |v|
p v
end
# => 1
# 2
# 3
//} -
IO
# <<(object) -> self (54691.0) -
object を出力します。object が文字列でない時にはメソッ ド to_s を用いて文字列に変換します。
object を出力します。object が文字列でない時にはメソッ
ド to_s を用いて文字列に変換します。
以下のような << の連鎖を使うことができます。
STDOUT << 1 << " is a " << Integer << "\n"
@param object 出力したいオブジェクトを与えます。
@raise Errno::EXXX 出力に失敗した場合に発生します。 -
Integer
# <<(bits) -> Integer (54691.0) -
シフト演算子。bits だけビットを左にシフトします。
シフト演算子。bits だけビットを左にシフトします。
@param bits シフトさせるビット数
//emlist[][ruby]{
printf("%#b\n", 0b0101 << 1) # => 0b1010
p -1 << 1 # => -2
//} -
Array
# <<(obj) -> self (54673.0) -
指定された obj を自身の末尾に破壊的に追加します。
指定された obj を自身の末尾に破壊的に追加します。
//emlist[例][ruby]{
ary = [1]
ary << 2
p ary # [1, 2]
//}
またこのメソッドは self を返すので、以下のように連続して
書くことができます。
//emlist[例][ruby]{
ary = [1]
ary << 2 << 3 << 4
p ary #=> [1, 2, 3, 4]
//}
@param obj 自身に加えたいオブジェクトを指定します。Array#push と違って引数は一つしか指定できません。
@see Array#push -
Method
# <<(callable) -> Proc (54655.0) -
self と引数を合成した Proc を返します。
self と引数を合成した Proc を返します。
戻り値の Proc は可変長の引数を受け取ります。
戻り値の Proc を呼び出すと、まず受け取った引数を callable に渡して呼び出し、
その戻り値を self に渡して呼び出した結果を返します。
Method#>> とは呼び出しの順序が逆になります。
@param callable Proc、Method、もしくは任意の call メソッドを持ったオブジェクト。
//emlist[例][ruby]{
def f(x)
x * x
end
def g(x)
x + x
end
# (3 + 3) * (3 + 3... -
Proc
# <<(callable) -> Proc (54655.0) -
self と引数を合成した Proc を返します。
self と引数を合成した Proc を返します。
戻り値の Proc は可変長の引数を受け取ります。
戻り値の Proc を呼び出すと、まず受け取った引数を callable に渡して呼び出し、
その戻り値を self に渡して呼び出した結果を返します。
Proc#>> とは呼び出しの順序が逆になります。
@param callable Proc、Method、もしくは任意の call メソッドを持ったオブジェクト。
//emlist[例][ruby]{
f = proc { |x| x * x }
g = proc { |x| x + x }
# (3 + 3) * (3 + ... -
Psych
:: Visitors :: YAMLTree # <<(object) (54601.0) -
変換対象の Ruby オブジェクトを追加します。
変換対象の Ruby オブジェクトを追加します。
@param object YAML AST へ変換する Ruby オブジェクト -
REXML
:: Parent # <<(object) -> () (54601.0) -
object を子ノード列の最後に追加します。
object を子ノード列の最後に追加します。
object の親ノードには self が設定されます。
@param object 追加するノード -
StringIO
# <<(obj) -> self (54601.0) -
obj を pos の位置に書き込みます。 必要なら obj.to_s を呼んで 文字列に変換します。 self を返します。
obj を pos の位置に書き込みます。 必要なら obj.to_s を呼んで
文字列に変換します。 self を返します。
@param obj 自身に書き込みたい、文字列か to_s が定義されたオブジェクトを指定します。 -
Thread
:: SizedQueue # <<(obj) -> () (54601.0) -
キューに与えられたオブジェクトを追加します。
キューに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与えられたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。
@see Thread::Queue#push -
REXML
:: Elements # <<(element = nil) -> REXML :: Element (54373.0) -
要素 element を追加します。
要素 element を追加します。
element には文字列もしくは REXML::Element オブジェクトを
指定します。文字列を指定した場合には REXML::Element.new(element)
で生成される要素を追加します。
element を省略した場合は、空の要素が追加されます。
追加された要素が返されます。
@param element 追加する要素
//emlist[][ruby]{
require 'rexml/document'
a = REXML::Element.new('a')
a.elements.add(REXML::Element.new... -
Enumerable
# each _ with _ object(obj) {|(*args) , memo _ obj| . . . } -> object (19219.0) -
与えられた任意のオブジェクトと要素をブロックに渡し繰り返し、最初に与えられたオブジェクトを返します。
与えられた任意のオブジェクトと要素をブロックに渡し繰り返し、最初に与えられたオブジェクトを返します。
ブロックを省略した場合は Enumerator を返します。
@param obj 任意のオブジェクトを指定します。
//emlist[例][ruby]{
evens = (1..10).each_with_object([]) {|i, a| a << i*2 }
# => [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
//}
@see Enumerator#with_object -
Enumerator
# with _ object(obj) {|(*args) , memo _ obj| . . . } -> object (19219.0) -
繰り返しの各要素に obj を添えてブロックを繰り返し、obj を返り値として返します。
繰り返しの各要素に obj を添えてブロックを繰り返し、obj を返り値として返します。
obj には任意のオブジェクトを渡すことができます。
ブロックが渡されなかった場合は、上で説明した繰り返しを実行し、
最後に obj を返す Enumerator を返します。
//emlist[例][ruby]{
# 0,1,2 と呼びだす enumeratorを作る
to_three = Enumerator.new do |y|
3.times do |x|
y << x
end
end
to_three_with_string = to_three.with_object... -
Enumerable
# each _ with _ object(obj) -> Enumerator (18619.0) -
与えられた任意のオブジェクトと要素をブロックに渡し繰り返し、最初に与えられたオブジェクトを返します。
与えられた任意のオブジェクトと要素をブロックに渡し繰り返し、最初に与えられたオブジェクトを返します。
ブロックを省略した場合は Enumerator を返します。
@param obj 任意のオブジェクトを指定します。
//emlist[例][ruby]{
evens = (1..10).each_with_object([]) {|i, a| a << i*2 }
# => [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
//}
@see Enumerator#with_object -
Enumerator
# with _ object(obj) -> Enumerator (18619.0) -
繰り返しの各要素に obj を添えてブロックを繰り返し、obj を返り値として返します。
繰り返しの各要素に obj を添えてブロックを繰り返し、obj を返り値として返します。
obj には任意のオブジェクトを渡すことができます。
ブロックが渡されなかった場合は、上で説明した繰り返しを実行し、
最後に obj を返す Enumerator を返します。
//emlist[例][ruby]{
# 0,1,2 と呼びだす enumeratorを作る
to_three = Enumerator.new do |y|
3.times do |x|
y << x
end
end
to_three_with_string = to_three.with_object... -
String
# gsub(pattern , replace) -> String (18559.0) -
文字列中で pattern にマッチする部分全てを 文字列 replace で置き換えた文字列を生成して返します。
文字列中で pattern にマッチする部分全てを
文字列 replace で置き換えた文字列を生成して返します。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@param replace pattern で指定した... -
String
# sub(pattern , replace) -> String (18511.0) -
文字列中で pattern にマッチした最初の部分を 文字列 replace で置き換えた文字列を生成して返します。
文字列中で pattern にマッチした最初の部分を
文字列 replace で置き換えた文字列を生成して返します。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@param replace pattern で指定し... -
Digest
:: Base # update(str) -> self (18481.0) -
文字列を追加します。self を返します。 複数回updateを呼ぶことは文字列を連結してupdateを呼ぶことと同じです。 すなわち m.update(a); m.update(b) は m.update(a + b) と、 m << a << b は m << a + b とそれぞれ等価 です。
文字列を追加します。self を返します。
複数回updateを呼ぶことは文字列を連結してupdateを呼ぶことと同じです。
すなわち m.update(a); m.update(b) は
m.update(a + b) と、 m << a << b は m << a + b とそれぞれ等価
です。
@param str 追加する文字列
require 'digest/md5'
digest = Digest::MD5.new
digest.update("r")
digest.update("u")
di... -
String
# gsub!(pattern , replace) -> self | nil (18457.0) -
文字列中で pattern にマッチする部分全てを文字列 replace に破壊的に置き換えます。
文字列中で pattern にマッチする部分全てを文字列 replace に破壊的に置き換えます。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。
gsub! は通常 self を変更して返しますが、
置換が起こらなかった場合は nil を返します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く... -
String
# sub!(pattern , replace) -> self | nil (18433.0) -
文字列中で pattern にマッチした最初の部分を文字列 replace へ破壊的に置き換えます。
文字列中で pattern にマッチした最初の部分を文字列 replace へ破壊的に置き換えます。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。
sub! は通常 self を変更して返しますが、
置換が起こらなかった場合は nil を返します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く... -
Enumerable
# sort _ by -> Enumerator (18427.0) -
ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。
ブロックの評価結果を <=> メソッドで比較することで、self を昇
順にソートします。ソートされた配列を新たに生成して返します。
つまり、以下とほぼ同じ動作をします。
//emlist[例][ruby]{
class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end
end
//}
Enumerable#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙... -
Enumerable
# sort _ by {|item| . . . } -> [object] (18427.0) -
ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。
ブロックの評価結果を <=> メソッドで比較することで、self を昇
順にソートします。ソートされた配列を新たに生成して返します。
つまり、以下とほぼ同じ動作をします。
//emlist[例][ruby]{
class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end
end
//}
Enumerable#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙... -
String
# gsub(pattern , hash) -> String (18379.0) -
文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。
文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。
@param pattern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ
//emlist[例][ruby]{
hash = {'b'=>'B', 'c'=>'C'}
p "abcabc".gsub(/[bc]/){hash[$&]} #=> "aBCaBC"
p "abcabc".gsub(/[bc]/, hash) #=> "aBCaBC"
//} -
String
# sub(pattern) {|matched| . . . . } -> String (18376.0) -
文字列中で pattern にマッチした最初の部分をブロックに渡し、 その評価結果で置き換えた新しい文字列を返します。 ブロックなしの sub と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。
文字列中で pattern にマッチした最初の部分をブロックに渡し、
その評価結果で置き換えた新しい文字列を返します。
ブロックなしの sub と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
//emlist[例][ruby]{
p 'abcabc'.sub(/b/) {|s| s.upcase } #=> "aBcabc"
p 'abcabc'.sub(/b... -
String
# sub(pattern , hash) -> String (18376.0) -
文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。
文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。
@param pattern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ
//emlist[例][ruby]{
hash = {'b'=>'B', 'c'=>'C'}
p "abcabc".sub(/[bc]/){hash[$&]} #=> "aBCabc"
p "abcabc".sub(/[bc]/, hash) #=> "aBCabc"
//} -
String
# gsub!(pattern) -> Enumerator (18367.0) -
文字列中で pattern にマッチする部分全てを順番にブロックに渡し、 その評価結果に置き換えます。
文字列中で pattern にマッチする部分全てを順番にブロックに渡し、
その評価結果に置き換えます。
また、ブロックなしの場合と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@return 置換した場合は self、置換しなかった場合は nil
//emlist[例][ruby]{
str = 'abcabc'
str.gsub!(/b/) {|s| s.u... -
String
# gsub!(pattern) {|matched| . . . . } -> self | nil (18367.0) -
文字列中で pattern にマッチする部分全てを順番にブロックに渡し、 その評価結果に置き換えます。
文字列中で pattern にマッチする部分全てを順番にブロックに渡し、
その評価結果に置き換えます。
また、ブロックなしの場合と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@return 置換した場合は self、置換しなかった場合は nil
//emlist[例][ruby]{
str = 'abcabc'
str.gsub!(/b/) {|s| s.u... -
String
# gsub!(pattern , hash) -> self | nil (18367.0) -
文字列中の pattern にマッチした部分をキーにして hash を引いた値へ破壊的に置き換えます。
文字列中の pattern にマッチした部分をキーにして hash を引いた値へ破壊的に置き換えます。
@param pattern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ
//emlist[例][ruby]{
hash = {'b'=>'B', 'c'=>'C'}
str = "abcabc"
str.gsub!(/[bc]/){hash[$&]}
p str #=> "aBCaBC"
str = "abcabc"
str.gsub!(/[bc]/, hash)
p str #=> "aBCaBC"
//... -
String
# sub!(pattern) {|matched| . . . . } -> self | nil (18358.0) -
文字列中で pattern にマッチした最初の部分をブロックに渡し、 その評価結果へ破壊的に置き換えます。
文字列中で pattern にマッチした最初の部分をブロックに渡し、
その評価結果へ破壊的に置き換えます。
また、ブロックなしの sub と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@return 置換した場合は self、置換しなかった場合は nil
//emlist[例][ruby]{
str = 'abcabc'
str.sub!(/b/) {|s|... -
String
# append _ as _ bytes(*objects) -> self (18355.0) -
引数で与えたオブジェクトをバイト列として、self に破壊的に連結します。
引数で与えたオブジェクトをバイト列として、self に破壊的に連結します。
このメソッドはエンコーディングの検査や変換を一切行いません。
引数が整数である場合は、その数をバイトの値とみなして連結します。
その数が1バイトの範囲を越える場合は、最下位のバイトのみを使用します。
//emlist[例][ruby]{
s = "あ".b # => "\xE3\x81\x82"
s.encoding # => #<Encoding:BINARY (ASCII-8BIT)>
s.append_as_bytes("い") # => "... -
String
# gsub(pattern) -> Enumerator (18349.0) -
文字列中で pattern にマッチした部分を順番にブロックに渡し、 その実行結果で置き換えた文字列を生成して返します。 ブロックなしの場合と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。
文字列中で pattern にマッチした部分を順番にブロックに渡し、
その実行結果で置き換えた文字列を生成して返します。
ブロックなしの場合と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@return 新しい文字列
//emlist[例][ruby]{
p 'abcabc'.gsub(/[bc]/) {|s| s.upcase } #=> "aBCaBC"
... -
String
# gsub(pattern) {|matched| . . . . } -> String (18349.0) -
文字列中で pattern にマッチした部分を順番にブロックに渡し、 その実行結果で置き換えた文字列を生成して返します。 ブロックなしの場合と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。
文字列中で pattern にマッチした部分を順番にブロックに渡し、
その実行結果で置き換えた文字列を生成して返します。
ブロックなしの場合と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@return 新しい文字列
//emlist[例][ruby]{
p 'abcabc'.gsub(/[bc]/) {|s| s.upcase } #=> "aBCaBC"
... -
String
# sub!(pattern , hash) -> String (18328.0) -
文字列中の pattern にマッチした部分をキーにして hash を引いた値で破壊的に置き換えます。
文字列中の pattern にマッチした部分をキーにして hash を引いた値で破壊的に置き換えます。
@param pattern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ
@return 置換した場合は self、置換しなかった場合は nil -
Array
# combination(n) -> Enumerator (18319.0) -
サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。
サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。
得られる組み合わせの順序は保証されません。ブロックなしで呼び出されると、組み合わせ
を生成する Enumerator オブジェクトを返します。
@param n 生成される配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[... -
Array
# combination(n) {|c| block } -> self (18319.0) -
サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。
サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。
得られる組み合わせの順序は保証されません。ブロックなしで呼び出されると、組み合わせ
を生成する Enumerator オブジェクトを返します。
@param n 生成される配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[... -
Array
# repeated _ combination(n) -> Enumerator (18319.0) -
サイズ n の重複組み合わせをすべて生成し、それを引数としてブロックを実行 します。
サイズ n の重複組み合わせをすべて生成し、それを引数としてブロックを実行
します。
得られる組み合わせの順序は保証されません。ブロックなしで呼び出されると、
組み合わせを生成する Enumerator オブジェクトを返します。
@param n 生成される配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emli... -
Array
# repeated _ combination(n) { |c| . . . } -> self (18319.0) -
サイズ n の重複組み合わせをすべて生成し、それを引数としてブロックを実行 します。
サイズ n の重複組み合わせをすべて生成し、それを引数としてブロックを実行
します。
得られる組み合わせの順序は保証されません。ブロックなしで呼び出されると、
組み合わせを生成する Enumerator オブジェクトを返します。
@param n 生成される配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emli... -
Net
:: HTTP # set _ debug _ output(io) -> () (18319.0) -
デバッグ出力の出力先を指定します。 このメソッドは深刻なセキュリティホールの原因 になるため、デバッグ以外では決して使わないでください。
デバッグ出力の出力先を指定します。
このメソッドは深刻なセキュリティホールの原因
になるため、デバッグ以外では決して使わないでください。
io に nil を指定するとデバッグ出力を止めます。
@param io 出力先を指定します。このオブジェクトは
メソッド << を持っている必要があります。
//emlist[例][ruby]{
http.set_debug_output($stderr)
//} -
Net
:: HTTPResponse # read _ body {|str| . . . . } -> () (18319.0) -
ブロックを与えなかった場合にはエンティティボディを 文字列で返します。 ブロックを与えた場合には エンティティボディを少しずつ取得して順次ブロックに 文字列で与えます。
ブロックを与えなかった場合にはエンティティボディを
文字列で返します。
ブロックを与えた場合には
エンティティボディを少しずつ取得して順次ブロックに
文字列で与えます。
レスポンスがボディを持たない場合には nil を返します。
//emlist[例1 ブロックを与えずに一度に結果取得][ruby]{
require 'net/http'
uri = "http://www.example.com/index.html"
response = Net::HTTP.get_response(URI.parse(uri))
response.read_body[0..10] # => "<... -
Net
:: HTTPResponse # read _ body(dest=nil) -> String|nil (18319.0) -
ブロックを与えなかった場合にはエンティティボディを 文字列で返します。 ブロックを与えた場合には エンティティボディを少しずつ取得して順次ブロックに 文字列で与えます。
ブロックを与えなかった場合にはエンティティボディを
文字列で返します。
ブロックを与えた場合には
エンティティボディを少しずつ取得して順次ブロックに
文字列で与えます。
レスポンスがボディを持たない場合には nil を返します。
//emlist[例1 ブロックを与えずに一度に結果取得][ruby]{
require 'net/http'
uri = "http://www.example.com/index.html"
response = Net::HTTP.get_response(URI.parse(uri))
response.read_body[0..10] # => "<... -
Net
:: POP3 # set _ debug _ output(f) -> () (18319.0) -
デバッグ用の出力 f をセットします。
デバッグ用の出力 f をセットします。
このメソッドは深刻なセキュリティホールの原因となりえます。
デバッグ以外の用途では使わないでください。
f は << メソッドを持っているオブジェクトでなければなりません。
使用例:
require 'net/pop'
pop = Net::POP3.new('pop.example.com', 110)
pop.set_debug_output $stderr
pop.start('YourAccount', 'YourPassword') {
p pop.n_bytes
}
実行結果:
POP sessi... -
Net
:: SMTP # debug _ output=(f) (18319.0) -
デバッグ出力の出力先を指定します。 このメソッドは深刻なセキュリティホールの原因となりえます。 デバッグ用にのみ利用してください。
デバッグ出力の出力先を指定します。
このメソッドは深刻なセキュリティホールの原因となりえます。
デバッグ用にのみ利用してください。
@param f デバッグ出力先を IO (もしくは << というメソッドを持つクラス)で指定します -
Net
:: SMTP # set _ debug _ output(f) -> () (18319.0) -
デバッグ出力の出力先を指定します。 このメソッドは深刻なセキュリティホールの原因となりえます。 デバッグ用にのみ利用してください。
デバッグ出力の出力先を指定します。
このメソッドは深刻なセキュリティホールの原因となりえます。
デバッグ用にのみ利用してください。
@param f デバッグ出力先を IO (もしくは << というメソッドを持つクラス)で指定します -
SecureRandom
. random _ number(n = 0) -> Integer | Float (18319.0) -
ランダムな数値を生成して返します。 n が 1 以上の整数の場合、0 以上 n 未満の整数を返します。 n が 0 の場合、0.0 以上 1.0 未満の実数を返します。
ランダムな数値を生成して返します。
n が 1 以上の整数の場合、0 以上 n 未満の整数を返します。
n が 0 の場合、0.0 以上 1.0 未満の実数を返します。
@param n ランダムな数値の上限を数値で指定します。
@raise NotImplementedError 安全な乱数発生器が使えない場合に発生します。
require 'securerandom'
p SecureRandom.random_number(1 << 64) #=> 4078466195356651249 -
VALUE rb
_ ary _ push(VALUE ary , VALUE item) (18319.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);
} -
REXML
:: Attributes # add(attribute) -> () (18301.0) -
属性を追加/更新します。
属性を追加/更新します。
attribute で更新する属性(REXML::Attribute オブジェクト)を
指定します。既に同じ名前(REXML::Attribute#name)のオブジェクトが
存在する場合は属性が上書きされ、ない場合は追加されます。
@param attribute 追加(更新)する属性(REXML::Attribute オブジェクト)
@see REXML::Attributes#[]= -
irb
/ xmp (18055.0) -
Ruby のソースコードとその実行結果を、行ごとに交互に表示するためのライブ ラリです。irb を実行しなくても、使用することが出来ます。
Ruby のソースコードとその実行結果を、行ごとに交互に表示するためのライブ
ラリです。irb を実行しなくても、使用することが出来ます。
実行結果を得るためには、Kernel#xmp と、XMP#puts を使った方
法があります。どちらの場合も XMP がコンテキスト情報を保持するため、
実行結果に差分はありません。(Binding を指定できるタイミングは違い
ます)
=== 関数(Kernel#xmp)を使って実行結果を得る
Kernel#xmp では、以下のように Ruby のソースコードを文字列として渡
す事で実行結果を標準出力に表示します。
$ cat t.rb
... -
webrick
/ cgi (18037.0) -
一般の CGI 環境で webrick ライブラリのサーブレットと同じように CGI スクリプトを書くための ライブラリです。サーバが WEBrick でなくても使うことが出来ます。
一般の CGI 環境で webrick ライブラリのサーブレットと同じように CGI スクリプトを書くための
ライブラリです。サーバが WEBrick でなくても使うことが出来ます。
=== 使い方
WEBrick のサーブレットを作成するのと同じように、WEBrick::CGI のサブクラスでメソッド
do_GET や do_POST を定義することによって CGI スクリプトを書きます。
スクリプトの最後で WEBrick::CGI#start メソッドを呼ぶ必要があります。
WEBrick::CGI#start メソッドは service メソッドを呼び出し、service メソッ... -
ERB (18019.0)
-
eRuby スクリプトを処理するクラス。
eRuby スクリプトを処理するクラス。
従来 ERbLight と呼ばれていたもので、
標準出力への印字が文字列の挿入とならない点が eruby と異なります。
* https://magazine.rubyist.net/articles/0017/0017-BundledLibraries.html
=== 使い方
ERB クラスを使うためには require 'erb' する必要があります。
例:
require 'erb'
ERB.new($<.read).run
=== trim_mode
trim_mode は整形の挙動を変更するオプションです。次の... -
drb (18019.0)
-
分散オブジェクトプログラミングのためのライブラリです。
分散オブジェクトプログラミングのためのライブラリです。
Ruby のプロセスから他のRubyプロセスにあるオブジェクトのメソッド
を呼びだすことができます。他のマシン上のプロセスにも
アクセスできます。
=== 概要
dRuby は Ruby 専用の分散オブジェクトシステムです。
Ruby のみで記述され、TCP socket のような Ruby 本体が提供する
通信手段があれば追加のインストール物なしに利用可能です。
独自のプロトコルで通信し、他の分散オブジェクトシステム
(CORBA, RMI, .NETなど)との相互運用性はありません。
dRuby は
* 他のプロセスと Ru... -
Zlib
:: Deflate . new(level = Zlib :: DEFAULT _ COMPRESSION , windowBits = Zlib :: MAX _ WBITS , memlevel = Zlib :: DEF _ MEM _ LEVEL , strategy = Zlib :: DEFAULT _ STRATEGY) -> Zlib :: Deflate (10519.0) -
圧縮ストリームを作成します。各引数の詳細は zlib.h を 参照して下さい。nil の場合はデフォルトの値を使用します。
圧縮ストリームを作成します。各引数の詳細は zlib.h を
参照して下さい。nil の場合はデフォルトの値を使用します。
@param level 0-9の範囲の整数, またはZlib::DEFAULT_COMPRESSIONを指定します。詳細はzlib.hを参照してください。
@param windowBits ウィンドウの大きさを整数で指定します。詳細はzlib.hを参照してください。
@param memlevel 0-9の範囲の整数で指定します。詳細はzlib.hを参照してください。
@param strategy Zlib::FILTERED, Zlib::HUFFMAN_ON... -
Object
# define _ singleton _ method(symbol) { . . . } -> Symbol (9619.0) -
self に特異メソッド name を定義します。
self に特異メソッド name を定義します。
@param symbol メソッド名を String または Symbol で指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Symbol を返します。
//emlist[][ruby]{
class A
class << self
def class_name
to_s
end
end
end
A.define_singleton_me... -
Object
# define _ singleton _ method(symbol , method) -> Symbol (9619.0) -
self に特異メソッド name を定義します。
self に特異メソッド name を定義します。
@param symbol メソッド名を String または Symbol で指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Symbol を返します。
//emlist[][ruby]{
class A
class << self
def class_name
to_s
end
end
end
A.define_singleton_me... -
Object
# initialize _ copy(obj) -> object (9619.0) -
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
このメソッドは self を obj の内容で置き換えます。ただ
し、self のインスタンス変数や特異メソッドは変化しません。
デフォルトでは、Object#clone の内部で Object#initialize_clone から、
また Object#dup の内部で Object#initialize_dup から呼ばれます。
initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするた
めに使用(定義)されます。例えば C 言語でクラスを実装する場合、情報
をインスタ... -
WEBrick
:: BasicLog . new(log _ file = nil , level = WEBrick :: BasicLog :: INFO) -> WEBrick :: BasicLog (9619.0) -
WEBrick::BasicLog オブジェクトを生成して返します。
WEBrick::BasicLog オブジェクトを生成して返します。
@param log_file ログを記録する先のオブジェクトを指定します。メソッド << が定義されている必要があります。
通常は String オブジェクトか IO オブジェクトです。nil
を指定した場合、標準エラー出力にログを出力します。
@param level ログレベルを定数で指定します。
このログレベルと同じかより重要なレベルのデータのみを記録します。
ログレベルは重要度の順に FATAL... -
Zlib
:: Inflate . new(window _ bits = Zlib :: MAX _ WBITS) -> Zlib :: Inflate (9619.0) -
展開ストリームを作成します。
展開ストリームを作成します。
@param window_bits ウィンドウの大きさを整数で指定します。
nil の場合はデフォルトの値を使用します。
詳細は zlib.h を参照してください。
require 'zlib'
cstr = "x\234\313\310OOUH+MOTH\315K\001\000!\251\004\276"
inz = Zlib::Inflate.new(15)
inz << cstr
p inz.finish #=> "hoge fuga end" -
ruby 1
. 6 feature (9523.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 がなくなっ
ていま... -
Object
# clone(freeze: nil) -> object (9409.0) -
オブジェクトの複製を作成して返します。
オブジェクトの複製を作成して返します。
dup はオブジェクトの内容をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに注意してください。後述。
TrueClass, FalseClass, NilClass, Symbol, そして Numeric クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。
@param freeze true を指定すると freeze されたコピーを返します。
fa... -
Object
# dup -> object (9409.0) -
オブジェクトの複製を作成して返します。
オブジェクトの複製を作成して返します。
dup はオブジェクトの内容をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに注意してください。後述。
TrueClass, FalseClass, NilClass, Symbol, そして Numeric クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。
@param freeze true を指定すると freeze されたコピーを返します。
fa... -
Zlib
:: Deflate # flush(flush = Zlib :: SYNC _ FLUSH) -> String (9409.0) -
deflate('', flush) と同じです。flush が 省略された時は Zlib::SYNC_FLUSH が使用されます。 このメソッドはスクリプトの可読性のために提供されています。
deflate('', flush) と同じです。flush が
省略された時は Zlib::SYNC_FLUSH が使用されます。
このメソッドはスクリプトの可読性のために提供されています。
@param flush Zlib::NO_FLUSH Zlib::SYNC_FLUSH Zlib::FULL_FLUSH などを指定します。
require 'zlib'
def case1
dez = Zlib::Deflate.new
comp_str = dez.deflate('hoge')
comp_str << dez.deflate(' fuga'... -
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (9379.0)
-
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) ex q num per and or plus minus ast slash hat sq period comma langl rangl eq tilde dollar at under lbrarbra lbra2rbra2 lbra3rbra3 dq colon ac backslash semicolon
Rubyで使われる記号の意味(正規表現の複雑な記号は除く)
ex q num per and or
plus minus ast slash hat sq
period comma langl rangl eq tilde
dollar at under lbrarbra
lbra2rbra2 lbra3rbra3 dq colon ac
backslash semicolon
===[a:ex] !
: !true
not 演算子。d:spec/operator#notを参照。
: 3 != 5
「等しくない」比較演算子。d:spec/operator#notを参... -
NEWS for Ruby 2
. 7 . 0 (9361.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.7.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.6.0 以降の変更
=== 言語仕様の変更
==== パターンマッチ
* パターンマッチが実験的機能として導入されました。 14912
//emlist[][ruby]{
case [0, [1, 2, 3]]
in [a, [b... -
Object
# singleton _ methods(inherited _ too = true) -> [Symbol] (9355.0) -
そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。
そのオブジェクトに対して定義されている特異メソッド名
(public あるいは protected メソッド) の一覧を返します。
inherited_too が真のときは継承した特異メソッドを含みます。
継承した特異メソッドとは Object#extend によって追加された特異メソッドや、
self がクラスの場合はスーパークラスのクラスメソッド(Classのインスタンスの特異メソッド)などです。
singleton_methods(false) は、Object#methods(false) と同じです。
@param inherited_too 継承した特異メソッドを含める場合は... -
CSV
:: Table # empty? -> bool (9337.0) -
ヘッダーを除いて、データがないときに true を返します。
ヘッダーを除いて、データがないときに true を返します。
Array#empty? に委譲しています。
//emlist[][ruby]{
require 'csv'
csv = CSV.new("a,b\n", headers: true)
table = csv.read
p table.empty? # => true
table << [1, 2]
p table.empty? # => false
//}
@see Array#empty? -
BasicObject
# singleton _ method _ removed(name) -> object (9319.0) -
特異メソッドが Module#remove_method に より削除された時にインタプリタから呼び出されます。
特異メソッドが Module#remove_method に
より削除された時にインタプリタから呼び出されます。
通常のメソッドの削除に対するフックには
Module#method_removedを使います。
@param name 削除されたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def singleton_method_removed(name)
puts "singleton method \"#{name}\" was removed"
end
end
obj = Foo.new
def obj.f... -
BasicObject
# singleton _ method _ undefined(name) -> object (9319.0) -
特異メソッドが Module#undef_method または undef により未定義にされた時にインタプリタから呼び出されます。
特異メソッドが Module#undef_method または
undef により未定義にされた時にインタプリタから呼び出されます。
通常のメソッドの未定義に対するフックには
Module#method_undefined を使います。
@param name 未定義にされたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def singleton_method_undefined(name)
puts "singleton method \"#{name}\" was undefined"
end
end
obj... -
CSV
:: Table # ==(other) -> bool (9319.0) -
自身の全ての行が比較対象と同じである場合は真を返します。 そうでない場合は偽を返します。
自身の全ての行が比較対象と同じである場合は真を返します。
そうでない場合は偽を返します。
@param other CSV::Table を指定します。
//emlist[例][ruby]{
require "csv"
row1_1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row1_2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
row2_1 = CSV::Row.new(["header1", "header2"], ["ro... -
Object
# methods(include _ inherited = true) -> [Symbol] (9319.0) -
そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。 このメソッドは public メソッドおよび protected メソッドの名前を返します。
そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。
このメソッドは public メソッドおよび protected メソッドの名前を返します。
ただし特別に、引数が偽の時は Object#singleton_methods(false) と同じになっています。
@param include_inherited 引数が偽の時は Object#singleton_methods(false) と同じになります。
//emlist[例1][ruby]{
class Parent
private; def private_parent() end
protecte... -
WEBrick
:: HTTPResponse # cookies -> [WEBrick :: Cookie] (9319.0) -
レスポンスの Set-Cookie ヘッダの値を表す WEBrick::Cookie オブジェクトの配列です。 レスポンスに新たに Cookie を加えたい場合はこの配列に WEBrick::Cookie オブジェクトを加えます。
レスポンスの Set-Cookie ヘッダの値を表す WEBrick::Cookie オブジェクトの配列です。
レスポンスに新たに Cookie を加えたい場合はこの配列に WEBrick::Cookie オブジェクトを加えます。
require 'webrick'
res.cookies << WEBrick::Cookie.parse_set_cookie(k) -
Psych
:: Visitors :: YAMLTree # push(object) (9301.0) -
変換対象の Ruby オブジェクトを追加します。
変換対象の Ruby オブジェクトを追加します。
@param object YAML AST へ変換する Ruby オブジェクト -
RDoc
:: Parser :: Ruby :: SINGLE -> "<<" (9301.0) -
RDoc::SingleClass type
RDoc::SingleClass type -
REXML
:: Parent # add(object) -> () (9301.0) -
object を子ノード列の最後に追加します。
object を子ノード列の最後に追加します。
object の親ノードには self が設定されます。
@param object 追加するノード -
REXML
:: Parent # push(object) -> () (9301.0) -
object を子ノード列の最後に追加します。
object を子ノード列の最後に追加します。
object の親ノードには self が設定されます。
@param object 追加するノード -
Thread
:: SizedQueue # enq(obj , non _ block = false) -> () (9301.0) -
キューに与えられたオブジェクトを追加します。
キューに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与えられたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。
@see Thread::Queue#push -
Thread
:: SizedQueue # push(obj , non _ block = false) -> () (9301.0) -
キューに与えられたオブジェクトを追加します。
キューに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与えられたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。
@see Thread::Queue#push -
CSV
:: Table # push(*rows) -> self (9091.0) -
複数の行を追加するためのショートカットです。
複数の行を追加するためのショートカットです。
以下と同じです。
//emlist[][ruby]{
rows.each {|row| self << row }
//}
@param rows CSV::Row のインスタンスか配列を指定します。
//emlist[例][ruby]{
require 'csv'
csv = CSV.new("a,b,c\n1,2,3", headers: true)
table = csv.read
rows = [
CSV::Row.new(table.headers, [4, 5, 6]),
[7, 8, 9]
]
table.push(... -
Digest
:: Base # hexdigest! -> String (9085.0) -
updateや<<によって追加した文字列に対するハッシュ値を、 ASCIIコードを使って16進数の列を示す文字列にエンコードして返します。 Digest::Base#hexdigestと違い、 メソッドの処理後、 オブジェクトの状態を初期状態(newした直後と同様の状態)に戻します。
updateや<<によって追加した文字列に対するハッシュ値を、
ASCIIコードを使って16進数の列を示す文字列にエンコードして返します。
Digest::Base#hexdigestと違い、
メソッドの処理後、
オブジェクトの状態を初期状態(newした直後と同様の状態)に戻します。
例:
# MD5の場合
require 'digest/md5'
digest = Digest::MD5.new
digest.update("ruby")
p digest.hexdigest! # => "58e53d1324eef6265fdb97b08ed9aadf"
p ... -
Object
# extend(*modules) -> self (9073.0) -
引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加します。
引数で指定したモジュールのインスタンスメソッドを self の特異
メソッドとして追加します。
Module#include は、クラス(のインスタンス)に機能を追加します
が、extend は、ある特定のオブジェクトだけにモジュールの機能を追加
したいときに使用します。
引数に複数のモジュールを指定した場合、最後
の引数から逆順に extend を行います。
@param modules モジュールを任意個指定します(クラスは不可)。
@return self を返します。
//emlist[][ruby]{
module Foo
def a
'ok Foo'
en... -
REXML
:: Elements # add(element = nil) -> REXML :: Element (9073.0) -
要素 element を追加します。
要素 element を追加します。
element には文字列もしくは REXML::Element オブジェクトを
指定します。文字列を指定した場合には REXML::Element.new(element)
で生成される要素を追加します。
element を省略した場合は、空の要素が追加されます。
追加された要素が返されます。
@param element 追加する要素
//emlist[][ruby]{
require 'rexml/document'
a = REXML::Element.new('a')
a.elements.add(REXML::Element.new... -
Zlib
:: Deflate # finish -> String (9073.0) -
圧縮ストリームを終了します。deflate('', Zlib::FINISH) と同じです。
圧縮ストリームを終了します。deflate('', Zlib::FINISH) と同じです。
require 'zlib'
dez = Zlib::Deflate.new
dez << "123" * 5 << "ugougo" << "123" * 5 << "hogehoge"
dezstr = dez.finish
p dezstr #=> "x\2343426DB\245\351\371@d\210*\230\221\237\236\n\302\000\356\275\v\271" -
Zlib
:: Deflate # params(level , strategy) -> nil (9073.0) -
圧縮ストリームの設定を変更します。詳しくは zlib.h を 参照して下さい。設定の変更に伴うストリームからの出力は 出力バッファに保存されます。
圧縮ストリームの設定を変更します。詳しくは zlib.h を
参照して下さい。設定の変更に伴うストリームからの出力は
出力バッファに保存されます。
@param level 0-9の範囲の整数, または Zlib::DEFAULT_COMPRESSION を指定します。
詳細はzlib.hを参照してください。
@param strategy Zlib::FILTERED, Zlib::HUFFMAN_ONLY,
Zlib::DEFAULT_STRATEGY など指定します。詳細は zlib.h を参照してください。
requi... -
Digest
:: Base # digest! -> String (9067.0) -
updateや<<によって追加した文字列に対するハッシュ値を文字列で返します。 Digest::Base#digestと違い、 メソッドの処理後、 オブジェクトの状態を初期状態(newした直後と同様の状態)に戻します。
updateや<<によって追加した文字列に対するハッシュ値を文字列で返します。
Digest::Base#digestと違い、
メソッドの処理後、
オブジェクトの状態を初期状態(newした直後と同様の状態)に戻します。
返す文字列は、MD5では16バイト長、SHA1およびRMD160では20バイト長、
SHA256では32バイト長、SHA384では48バイト長、SHA512では64バイト長です。
例:
# MD5の場合
require 'digest/md5'
digest = Digest::MD5.new
digest.update("ruby")
p dige... -
Digest
:: Base # hexdigest -> String (9067.0) -
updateや<<によって追加した文字列に対するハッシュ値を、 ASCIIコードを使って16進数の列を示す文字列にエンコードして返します。
updateや<<によって追加した文字列に対するハッシュ値を、
ASCIIコードを使って16進数の列を示す文字列にエンコードして返します。
返す文字列は、
MD5では32バイト長、SHA1およびRMD160では40バイト長、SHA256では64バイト長、
SHA384では96バイト長、SHA512では128バイト長です。
Rubyで書くと以下と同じです。
def hexdigest
digest.unpack("H*")[0]
end
例:
# MD5の場合
require 'digest/md5'
digest = Digest::MD5.new
... -
Digest
:: Base # to _ s -> String (9067.0) -
updateや<<によって追加した文字列に対するハッシュ値を、 ASCIIコードを使って16進数の列を示す文字列にエンコードして返します。
updateや<<によって追加した文字列に対するハッシュ値を、
ASCIIコードを使って16進数の列を示す文字列にエンコードして返します。
返す文字列は、
MD5では32バイト長、SHA1およびRMD160では40バイト長、SHA256では64バイト長、
SHA384では96バイト長、SHA512では128バイト長です。
Rubyで書くと以下と同じです。
def hexdigest
digest.unpack("H*")[0]
end
例:
# MD5の場合
require 'digest/md5'
digest = Digest::MD5.new
... -
Ruby プログラムの実行 (9055.0)
-
Ruby プログラムの実行 === Ruby プログラム
Ruby プログラムの実行
=== Ruby プログラム
Ruby プログラムの実行は文の連なりの評価です。なんらかの形であたえられたプログラムテキストをコンパイルし、BEGIN 文があればそれを評価し、トップレベルの式の連なりを評価し、END ブロックがあれば最後にそれを評価して終了します (終了処理の詳細については spec/terminate を参照のこと)。
=== 文
==== if
if 文は、まず条件式を評価し、その値が真ならば対応する本体を評価します。
偽ならば elsif 節の条件式を順番に評価し、その値が始めて真になった節の
本体を評価します。それらがすべて偽なら... -
ruby 1
. 8 . 2 feature (9055.0) -
ruby 1.8.2 feature ruby 1.8.2 での ruby 1.8.1 からの変更点です。
ruby 1.8.2 feature
ruby 1.8.2 での ruby 1.8.1 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
*カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
*レベル
* [bug]: バグ修正
* [new]: 追加されたクラス/メソッドなど
* [compat]: 変更されたクラス/... -
ruby 1
. 8 . 3 feature (9055.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]: ... -
Digest
:: Base # digest -> String (9049.0) -
updateや<<によって追加した文字列に対するハッシュ値を文字列で返します。
updateや<<によって追加した文字列に対するハッシュ値を文字列で返します。
返す文字列は、MD5では16バイト長、SHA1およびRMD160では20バイト長、
SHA256では32バイト長、SHA384では48バイト長、SHA512では64バイト長です。
例:
# MD5の場合
require 'digest/md5'
digest = Digest::MD5.new
digest.update("ruby")
p digest.digest # => "X\345=\023$\356\366&_\333\227\260\216\331\252\337"
@s... -
NEWS for Ruby 2
. 1 . 0 (9037.0) -
NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.1.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.0.0 以降の変更
=== 言語仕様の変更
* キーワード引数のデフォルト値が省略可能になりました。これらの「必須キーワード引数」は呼び出し時に明示的に与えなければなりません。
* 整数や小数のリテラルの末尾に'r','i','... -
Zlib
:: Deflate # set _ dictionary(string) -> String (9037.0) -
圧縮に用いる辞書を指定します。string を返します。 このメソッドは Zlib::Deflate.new, Zlib::ZStream#reset を呼び出した直後にのみ有効です。詳細は zlib.h を参照して下さい。
圧縮に用いる辞書を指定します。string を返します。
このメソッドは Zlib::Deflate.new, Zlib::ZStream#reset
を呼び出した直後にのみ有効です。詳細は zlib.h を参照して下さい。
@param string 辞書に用いる文字列を指定します。詳しくは zlib.h を参照してください。
@return 辞書に用いる文字列を返します。
require 'zlib'
def case1(str)
dez = Zlib::Deflate.new
comp_str = dez.deflate(str)
comp_s...