ライブラリ
クラス
- Array (19)
- BasicObject (11)
- Object (44)
- String (22)
- ThreadsWait (24)
- Time (22)
-
Zlib
:: GzipReader (77)
モジュール
- Benchmark (11)
- Enumerable (44)
- Forwardable (11)
- Kernel (33)
- TSort (32)
キーワード
-
$ ~ (11) - Emitter (11)
- Marshal フォーマット (11)
-
NEWS for Ruby 2
. 7 . 0 (5) - Rubyの起動 (11)
- String (11)
-
all
_ waits (18) - benchmark (11)
-
each
_ byte (22) -
each
_ strongly _ connected _ component _ from (21) -
enum
_ for (22) - format (11)
-
instance
_ delegate (11) - irb (11)
- lineno (11)
- lineno= (11)
- logger (11)
-
max
_ by (44) -
method
_ missing (11) - new (6)
- pack (19)
- pack テンプレート文字列 (11)
- pos (11)
-
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 4 feature (11) - sprintf (11)
- sprintf フォーマット (11)
- strptime (22)
- tell (11)
-
to
_ enum (22) -
tsort
_ each (11) - ungetc (11)
- unpack (11)
検索結果
先頭5件
-
irb (26180.0)
-
irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
...irb は Interactive Ruby の略です。
irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
=== irb の使い方
Ruby さえ知っていれば irb を使うのは簡単です。
irb コマンドを実行すると、以下のようなプロン......$ irb
irb(main):001:0>
あとは Ruby の式を入力するだけで、その式が実行され、結果が表示されます。
irb(main):001:0> 1+2
3
irb(main):002:0> class Foo
irb(main):003:1> def foo
irb(main):004:2> print 1
irb(main):005:2> end
irb(main):006:1> end......ibrary ruby -r と同じ
-I ruby -I と同じ
-U ruby -U と同じ
-E enc ruby -E と同じ
--verbose これから実行する行を表示する
--noverbose これから実行する行を表示しない (デフォルト)
--ech... -
String
# %(args) -> String (21464.0) -
printf と同じ規則に従って args をフォーマットします。
...printf と同じ規則に従って args をフォーマットします。
args が配列であれば Kernel.#sprintf(self, *args) と同じです。
それ以外の場合は Kernel.#sprintf(self, args) と同じです。
@param args フォーマットする値、もしくはその配列
@retu......列
//emlist[例][ruby]{
p "i = %d" % 10 # => "i = 10"
p "i = %x" % 10 # => "i = a"
p "i = %o" % 10 # => "i = 12"
p "i = %#d" % 10 # => "i = 10"
p "i = %#x" % 10 # => "i = 0xa"
p "i = %#o" % 10 # => "i = 012"
p "%d" % 10 # => "10"
p "%d,%o" % [10, 10] #......"
//}
=== sprintf フォーマット
Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3)
のものと同じです。ただし、short や long などの C 特有の型に対する修飾子が
ないこと、2進数の指示子(%b, %B)が存在すること、sprintf のすべ... -
ThreadsWait
. all _ waits(*threads) {|thread| . . . } -> () (12348.0) -
指定されたスレッドすべてが終了するまで待ちます。 ブロックが与えられた場合、スレッド終了時にブロックを評価します。
...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) }
# 出力例
#=> #<Thr......ead:0x21584 run>
#=> #<Thread:0x21610 run>
#=> #<Thread:0x2169c run>
#=> #<Thread:0x21728 run>
#=> #<Thread:0x214f8 run>
#=> end #<Thread:0x21584 dead>
#=> end #<Thread:0x21610 dead>
#=> end #<Thread:0x2169c dead>
#=> end #<Thread:0x21728 dead>
#=> end #<Thread:0x214f8 dead>... -
BasicObject
# method _ missing(name , *args) -> object (12248.0) -
呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド を呼び出します。
...トではこのメソッドは例外 NoMethodError を発生させます。
@param name 未定義メソッドの名前(シンボル)です。
@param args 未定義メソッドに渡された引数です。
@return ユーザー定義の method_missing メソッドの返り値が未定義メソ....../emlist[例][ruby]{
class Foo
def initialize(data)
@data = data
end
def method_missing(name, lang)
if name.to_s =~ /\Afind_(\d+)_in\z/
if @data[lang]
p @data[lang][$1.to_i]
else
raise "#{lang} unknown"
end
else
super
end
end
end
dic =......glish => %w(zero one two), :Esperanto => %w(nulo unu du)})
dic.find_2_in :Esperanto #=> "du"
//}
[注意] このメソッドを override する場合は対象のメソッド名に対して
Object#respond_to? が真を返すようにしてください。
そのためには、Object#respond_to_missin... -
ThreadsWait
. all _ waits(*threads) -> () (12248.0) -
指定されたスレッドすべてが終了するまで待ちます。 ブロックが与えられた場合、スレッド終了時にブロックを評価します。
...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) }
# 出力例
#=> #<Thr......ead:0x21584 run>
#=> #<Thread:0x21610 run>
#=> #<Thread:0x2169c run>
#=> #<Thread:0x21728 run>
#=> #<Thread:0x214f8 run>
#=> end #<Thread:0x21584 dead>
#=> end #<Thread:0x21610 dead>
#=> end #<Thread:0x2169c dead>
#=> end #<Thread:0x21728 dead>
#=> end #<Thread:0x214f8 dead>... -
ThreadsWait
# all _ waits -> () (12148.0) -
指定されたスレッドすべてが終了するまで待ちます。 ブロックが与えられた場合、スレッド終了時にブロックを評価します。
...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)
}
# 出力例
#=> #<Thread:0x214bc run>
#=> #<Thread:0x21548 run>
#=> #<Thread:0......x215d4 run>
#=> #<Thread:0x21660 run>
#=> #<Thread:0x21430 run>
#=> end #<Thread:0x214bc dead>
#=> end #<Thread:0x21548 dead>
#=> end #<Thread:0x215d4 dead>
#=> end #<Thread:0x21660 dead>
#=> end #<Thread:0x21430 dead>... -
Benchmark
. # benchmark(caption = "" , label _ width = nil , fmtstr = nil , *labels) {|rep| . . . } -> [Benchmark :: Tms] (9378.0) -
Benchmark::Report オブジェクトを生成し、それを引数として与えられたブロックを実行します。
...Benchmark::Report オブジェクトを生成し、それを引数として与えられたブロックを実行します。
基本的には以下のように使います。
ブロックが Benchmark::Tms オブジェクトの配列を返した場合は、
それらの数値も追加の行に表示......ます。
@param caption レポートの一行目に表示する文字列を指定します。
@param label_width ラベルの幅を指定します。
@param fmtstr フォーマット文字列を指定します。
この引数を省略すると Benchmark::FORMAT が使......ックが Benchmark::Tms オブジェクトの配列を返す場合に指定します。
=== フォーマット文字列
フォーマット文字列として以下が使用できます。
: %u
user CPU time で置き換えられます。Benchmark::Tms#utime
: %y
system CPU time で置き換... -
Time
. strptime(date , format , now=self . now) -> Time (9242.0) -
文字列を Date._strptime を用いて Time オブジェクト に変換します。
...ptime を用いて Time オブジェクト
に変換します。
require 'time'
Time.strptime('2001-02-03T04:05:06+09:00', '%Y-%m-%dT%H:%M:%S%z')
#=> 2001-02-03 06:05:06 +0900
ブロックを渡すと年の部分をブロックによって変換できます。
require 'time'
Time.strptim......18 4:13:00', '%Y/%m/%d %T'){|y|
if y > 100 then y
elsif y >= 69 then y + 1900
else y + 2000
end
}
#=> 1991-05-18 04:13:00 +0900
Time.strptime('01/5/18 4:13:00', '%Y/%m/%d %T'){|y|
if y > 100 then y
elsif y >= 69 then y + 1900
else y + 2000
end
}
#=> 20......01-05-18 04:13:00 +0900
詳しくは DateTime.strptime, Date.strptime を見てください。
@param date 時刻を表す文字列
@param format 書式文字列... -
Time
. strptime(date , format , now=self . now) {|y| . . . } -> Time (9242.0) -
文字列を Date._strptime を用いて Time オブジェクト に変換します。
...ptime を用いて Time オブジェクト
に変換します。
require 'time'
Time.strptime('2001-02-03T04:05:06+09:00', '%Y-%m-%dT%H:%M:%S%z')
#=> 2001-02-03 06:05:06 +0900
ブロックを渡すと年の部分をブロックによって変換できます。
require 'time'
Time.strptim......18 4:13:00', '%Y/%m/%d %T'){|y|
if y > 100 then y
elsif y >= 69 then y + 1900
else y + 2000
end
}
#=> 1991-05-18 04:13:00 +0900
Time.strptime('01/5/18 4:13:00', '%Y/%m/%d %T'){|y|
if y > 100 then y
elsif y >= 69 then y + 1900
else y + 2000
end
}
#=> 20......01-05-18 04:13:00 +0900
詳しくは DateTime.strptime, Date.strptime を見てください。
@param date 時刻を表す文字列
@param format 書式文字列... -
Zlib
:: GzipReader # each _ byte {|byte| . . . } -> nil (9218.0) -
IO クラスの同名メソッドIO#each_byteと同じです。
...IO クラスの同名メソッドIO#each_byteと同じです。
但し、gzip ファイル中に
エラーがあった場合 Zlib::Error 例外や
Zlib::GzipFile::Error 例外が発生します。
gzip ファイルのフッターの処理に注意して下さい。
gzip ファイルのフッター......aise Zlib::GzipFile::CRCError Zlib::GzipFile::CRCErrorを参照
@raise Zlib::GzipFile::LengthError Zlib::GzipFile::LengthErrorを参照
require 'zlib'
=begin
# hoge.gz がない場合は下記で作成できる。
Zlib::GzipWriter.open('hoge.gz') { |gz|
gz.puts 'hoge'
}
=end
Zli......b::GzipReader.open('hoge.gz') { |gz|
gz.each_byte { |b|
printf "%d -> %c\n", b, b
}
}
#=> 104 -> h
#=> 111 -> o
#=> 103 -> g
#=> 101 -> e
#=> 10 ->
@see IO#each_byte... -
Zlib
:: GzipReader # each _ byte -> Enumerator (9118.0) -
IO クラスの同名メソッドIO#each_byteと同じです。
...IO クラスの同名メソッドIO#each_byteと同じです。
但し、gzip ファイル中に
エラーがあった場合 Zlib::Error 例外や
Zlib::GzipFile::Error 例外が発生します。
gzip ファイルのフッターの処理に注意して下さい。
gzip ファイルのフッター......aise Zlib::GzipFile::CRCError Zlib::GzipFile::CRCErrorを参照
@raise Zlib::GzipFile::LengthError Zlib::GzipFile::LengthErrorを参照
require 'zlib'
=begin
# hoge.gz がない場合は下記で作成できる。
Zlib::GzipWriter.open('hoge.gz') { |gz|
gz.puts 'hoge'
}
=end
Zli......b::GzipReader.open('hoge.gz') { |gz|
gz.each_byte { |b|
printf "%d -> %c\n", b, b
}
}
#=> 104 -> h
#=> 111 -> o
#=> 103 -> g
#=> 101 -> e
#=> 10 ->
@see IO#each_byte...