種類
ライブラリ
- ビルトイン (1736)
- benchmark (22)
- bigdecimal (22)
-
bigdecimal
/ math (66) - csv (14)
- erb (77)
-
irb
/ xmp (11) - json (110)
- matrix (44)
-
net
/ http (165) - nkf (11)
- objspace (22)
- open-uri (4)
- optparse (66)
- pp (11)
- psych (11)
- rake (22)
-
rubygems
/ requirement (11) - set (18)
- socket (44)
- stringio (11)
- strscan (55)
- thread (18)
- timeout (19)
- win32ole (99)
- zlib (22)
クラス
- Addrinfo (22)
- Array (69)
- BasicObject (55)
- CSV (11)
- Class (11)
- Data (4)
- Dir (11)
- ERB (33)
-
Encoding
:: Converter (22) -
Encoding
:: InvalidByteSequenceError (11) -
Encoding
:: UndefinedConversionError (11) - Enumerator (33)
-
Enumerator
:: Lazy (10) - File (11)
-
File
:: Stat (55) -
Gem
:: Requirement (11) - Hash (11)
- IO (44)
- Integer (22)
-
JSON
:: State (66) - MatchData (11)
- Matrix (44)
- Method (22)
- Module (57)
-
Net
:: HTTP (99) - Object (138)
- OptionParser (66)
- PP (11)
-
Rake
:: Application (11) - Range (11)
- Regexp (77)
-
RubyVM
:: AbstractSyntaxTree :: Node (6) -
RubyVM
:: InstructionSequence (110) - Set (18)
- SignalException (11)
- Socket (22)
- String (110)
- StringIO (11)
- StringScanner (55)
- Struct (22)
- Thread (36)
-
Thread
:: Backtrace :: Location (44) -
Thread
:: ConditionVariable (22) -
Thread
:: Queue (33) -
Thread
:: SizedQueue (33) - ThreadGroup (11)
- TracePoint (23)
- UnboundMethod (10)
- WIN32OLE (11)
-
WIN32OLE
_ EVENT (22) -
WIN32OLE
_ METHOD (11) -
WIN32OLE
_ TYPE (22) -
WIN32OLE
_ TYPELIB (11) - XMP (11)
-
Zlib
:: GzipWriter (22)
モジュール
- Benchmark (22)
- BigMath (88)
-
ERB
:: Util (44) - Enumerable (66)
-
GC
:: Profiler (11) - JSON (33)
-
JSON
:: Generator :: GeneratorMethods :: String (11) - Kernel (366)
-
Net
:: HTTPHeader (66) - ObjectSpace (99)
-
Rake
:: TaskManager (11) -
RubyVM
:: AbstractSyntaxTree (8) - Signal (22)
- Timeout (19)
オブジェクト
- ENV (22)
キーワード
- ! (11)
- != (11)
-
$ -I (11) -
$ : (11) -
$ > (11) -
$ LOAD _ PATH (11) -
$ stderr (11) -
$ stdout (11) - === (22)
- =~ (11)
- E (11)
- Location (11)
-
NEWS for Ruby 2
. 0 . 0 (11) -
NEWS for Ruby 3
. 1 . 0 (3) - NKF (11)
- PI (11)
- Queue (11)
- Rubyの起動 (7)
-
WIN32OLE
_ EVENT (11) -
WIN32OLE
_ TYPE (11) - YAMLTree (11)
- [] (11)
- ` (11)
- abort (22)
-
absolute
_ path (22) - add (11)
-
alias
_ method (11) -
allocation
_ sourcefile (11) -
allocation
_ sourceline (11) -
at
_ exit (11) - atan (11)
-
base
_ label (22) - bigdecimal (11)
-
bigdecimal
/ math (11) -
bind
_ call (10) - binwrite (11)
-
block
_ given? (11) - blockdev? (11)
- broadcast (11)
- chardev? (11)
- close (11)
-
compile
_ file (11) - concat (11)
-
connect
_ from (22) -
const
_ added (2) -
const
_ load (11) - convert (11)
- cos (11)
-
create
_ id= (11) - cycle (33)
- deconstruct (2)
-
deconstruct
_ keys (2) -
default
_ event _ sources (11) -
define
_ finalizer (22) - delete (22)
- deq (22)
- disasm (22)
- disassemble (22)
-
drb
/ extservm (11) - dump (11)
- each (77)
-
each
_ capitalized _ name (11) -
each
_ header (11) -
each
_ key (11) -
each
_ name (11) -
each
_ object (44) -
each
_ value (11) -
each
_ with _ index (22) - empty? (11)
-
enum
_ for (22) -
error
_ bytes (11) -
error
_ char (11) -
eval
_ script (6) - exec (44)
- exit (11)
- exit! (11)
- exp (11)
- fetch (33)
- finish (11)
- flock (11)
- foreach (22)
- fork (22)
- get2 (22)
- gsub (44)
- h (11)
- handler= (11)
- help (11)
- helpfile (11)
-
html
_ escape (11) -
ignore
_ deadlock= (3) -
in
_ namespace (11) - inherited (11)
- initialize (11)
-
initialize
_ copy (11) -
insert
_ output (11) - inspect (50)
-
instruction
_ sequence (6) - invkind (11)
-
irb
/ xmp (11) - iterator? (11)
- label (11)
-
last
_ match (22) - log (11)
- loop (18)
- match (22)
-
max
_ by (44) - measure (11)
-
method
_ added (11) -
method
_ removed (11) -
method
_ undefined (11) -
net
/ http (11) - new (33)
- next (11)
-
object
_ nl (11) -
object
_ nl= (11) - of (19)
-
on
_ head (11) -
on
_ tail (11) - open (4)
- optparse (11)
- owner (11)
- p (11)
- path (22)
- peek (11)
- peep (11)
- pid (11)
- pointer= (11)
- pop (22)
- pos= (11)
- post2 (22)
- pp (11)
-
pretty
_ generate (11) -
pretty
_ unparse (11) - prettyprint (11)
- print (11)
-
public
_ send (22) - rake (11)
-
rb
_ protect (11) - read (11)
- realtime (11)
-
request
_ get (22) -
request
_ post (22) -
respond
_ to? (11) - result (22)
-
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 2 feature (11) -
ruby 1
. 8 . 3 feature (11) -
ruby 1
. 8 . 4 feature (11) - run (11)
-
send
_ request (11) - separator (11)
- setgid? (11)
- setuid? (11)
- shift (22)
- signal (11)
- signm (11)
- sin (11)
-
singleton
_ method _ added (11) -
singleton
_ method _ removed (11) -
singleton
_ method _ undefined (11) - sleep (22)
-
source
_ location (11) - space (11)
- space= (11)
-
space
_ before (11) -
space
_ before= (11) - sqrt (11)
- src (11)
- sticky? (11)
- sub (33)
- taint (6)
- tap (11)
- tcp (22)
- test (22)
- throw (11)
- timeout (19)
- times (22)
-
to
_ csv (3) -
to
_ enum (22) -
to
_ json (11) -
to
_ s (40) -
top
_ level (11) -
trace
_ var (33) - tracer (11)
- trap (22)
- u (11)
-
undef
_ method (11) -
undefine
_ finalizer (11) - unscan (11)
- upto (11)
-
url
_ encode (11) - ver (11)
- wakeup (11)
- warn (3)
-
with
_ index (10) -
with
_ object (22) - yaml (11)
- ~ (11)
- 制御構造 (11)
検索結果
先頭5件
-
tracer (26018.0)
-
実行トレース出力をとる機能を提供します。
...す。
ruby -rtracer hoge.rb
もうひとつはソースからrequireする方法です。
require 'tracer'
とした後
Tracer.on
によりトレース出力を有効にします。
Tracer.off
によりトレース出力を無効にします。
また、ブロック付きで Tracer......# ruby 1.8 では警告がでますが、動作します。
require 'tracer'
class Hoge
def Hoge.fuga(i)
"fuga #{i}"
end
end
Tracer.add_filter {|event, file, line, id, binding, klass|
event =~ /line/ and klass.to_s =~ /hoge/i
}
Tracer.on
for i in 0..3
puts Ho......ge.fuga(i) if i % 3 == 0
end
Tracer.off
=== SEE ALSO
Kernel.#set_trace_func... -
Kernel
. # puts(*arg) -> nil (24249.0) -
引数と改行を順番に 標準出力 $stdout に出力します。 引数がなければ改行のみを出力します。
...$stdout に出力します。
引数がなければ改行のみを出力します。
引数が配列の場合、その要素と改行を順に出力します。
配列や文字列以外のオブジェクトが引数として与えられた場合には、
当該オブジェクトを最初に to_ary......により配列へ、
次に to_s メソッドにより文字列へ変換を試みます。
末尾が改行で終っている引数や配列の要素に対しては puts 自身
は改行を出力しません。
@param arg 出力するオブジェクトを任意個指定します。
@raise IOError......に失敗した場合に発生します。
//emlist[例][ruby]{
puts "foo", "bar\n", "baz"
puts "" # 改行のみ出力
puts # 改行のみ出力
puts nil # 改行のみ出力
puts ["oui", "non"]
#=> foo
# bar
# baz
#
#
#
# oui
# non
//}
@see Kernel.#print, Kernel.#p, IO#puts... -
StringIO
# puts(*obj) -> nil (24229.0) -
obj と改行を順番に自身に出力します。引数がなければ改行のみを出力します。 詳しい仕様は Kernel.#puts を参照して下さい。
...は Kernel.#puts を参照して下さい。
@param obj 書き込みたいオブジェクトを指定します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("", 'r+')
a.puts("hoge", "bar......", "foo")
a.string #=> "hoge\nbar\nfoo\n"
//}... -
XMP
# puts(exps) -> nil (24223.0) -
引数 exps で指定されたRuby のソースコードとその実行結果を、標準出力に行 ごとに交互に表示します。
...引数 exps で指定されたRuby のソースコードとその実行結果を、標準出力に行
ごとに交互に表示します。
@param exps 評価するRuby のソースコードを文字列で指定します。... -
CSV
# puts(row) -> self (18219.0) -
自身に row を追加します。
...ist[例 配列を指定][ruby]{
require "csv"
File.write("test.csv", <<CSV)
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
3,ami,sato,19
4,yumi,adachi,21
CSV
CSV.open("test.csv", "a") do |csv|
csv.puts(["5", "saburo", "kondo", "34"])
end
print File.read("test.csv")
# => id,first n......ame,last name,age
# 1,taro,tanaka,20
# 2,jiro,suzuki,18
# 3,ami,sato,19
# 4,yumi,adachi,21
# 5,saburo,kondo,34
//}
//emlist[例 CSV::Row を指定][ruby]{
require "csv"
File.write("test.csv", <<CSV)
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
3,ami,sato,19
4,yumi,a......21
CSV
CSV.open("test.csv", "a") do |csv|
row = CSV::Row.new(["id", "first name", "last name", "age"], ["5", "saburo", "kondo", "34"])
csv.add_row(row)
end
print File.read("test.csv")
# => "id", first name,last name,age
# 1,taro,tanaka,20
# 2,jiro,suzuki,18
# 3,ami,sato,19
# 4,yumi,... -
JSON
:: Generator :: GeneratorMethods :: String # to _ json(state _ or _ hash = nil) -> String (12130.0) -
自身から生成した JSON 形式の文字列を返します。
...ドは UTF-8 であるべきです。
"\u????" のように UTF-16 ビッグエンディアンでエンコードされた文字列を返すことがあります。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のイ......JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby]{
require "json"
puts "test".to_json # => "test"
puts '"'.to_json # => "\""
puts "\\".to_json # => "\\"
puts "𤘩宮城".to_json(a......scii_only: true) # => "\ud851\ude29\u5bae\u57ce"
//}... -
RubyVM
:: AbstractSyntaxTree :: Node # inspect -> String (12112.0) -
self のデバッグ用の情報を含んだ文字列を返します。
...self のデバッグ用の情報を含んだ文字列を返します。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 1')
puts node.inspect
# => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-1:5>
//}... -
RubyVM
:: AbstractSyntaxTree . of(proc) -> RubyVM :: AbstractSyntaxTree :: Node (9318.0) -
引数 proc に渡したProcやメソッドオブジェクトの抽象構文木を返します。
...list[][ruby]{
pp RubyVM::AbstractSyntaxTree.of(proc {1 + 2})
# => (SCOPE@2:38-2:45
# tbl: []
# args: nil
# body:
# (OPCALL@2:39-2:44 (LIT@2:39-2:40 1) :+
# (LIST@2:43-2:44 (LIT@2:43-2:44 2) nil)))
def hello
puts "hello, world"
end
pp RubyVM::AbstractSyntaxTree.of(metho......# tbl: []
# args:
# (ARGS@5:9-5:9
# pre_num: 0
# pre_init: nil
# opt: nil
# first_post: nil
# post_num: 0
# post_init: nil
# rest: nil
# kw: nil
# kwrest: nil
# block: nil)
# body:
# (FCALL@6:2-6:21 :puts......(LIST@6:7-6:21 (STR@6:7-6:21 "hello, world") nil)))
//}......す。
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#token が利用できます。
@param error_tolerant true を指定すると......所を type が :ERROR であるようなノードに置き換えてツリーを生成します。
//emlist[][ruby]{
pp RubyVM::AbstractSyntaxTree.of(proc {1 + 2})
# => (SCOPE@2:38-2:45
# tbl: []
# args: nil
# body:
# (OPCALL@2:39-2:44 (LIT@2:39-2:40 1) :+
# (LIST@2:43-2:......LIT@2:43-2:44 2) nil)))
def hello
puts "hello, world"
end
pp RubyVM::AbstractSyntaxTree.of(method(:hello))
# => (SCOPE@5:0-7:3
# tbl: []
# args:
# (ARGS@5:9-5:9
# pre_num: 0
# pre_init: nil
# opt: nil
# first_post: nil
# post_num: 0
# post_... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (9314.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...c 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはい......require 'timeout'
def calc_pi(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? min[0] += 1 : min[1] += 1
end
end
t = 5
min = [ 0, 0]
begin
Timeout.timeout(t){
calc_pi(min)
}
rescue Timeout::Error
puts "timeout"
end
printf "%d: pi =......イムアウト
#!/usr/bin/env ruby
require 'timeout'
class MYError < Exception;end
begin
Timeout.timeout(5, MYError) {
sleep(30)
}
rescue MYError => err
puts "MYError"
puts err
end
=== 注意
timeout による割り込みは Thread によって実現されて... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (9314.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...c 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはい......require 'timeout'
def calc_pi(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? min[0] += 1 : min[1] += 1
end
end
t = 5
min = [ 0, 0]
begin
Timeout.timeout(t){
calc_pi(min)
}
rescue Timeout::Error
puts "timeout"
end
printf "%d: pi =......イムアウト
#!/usr/bin/env ruby
require 'timeout'
class MYError < Exception;end
begin
Timeout.timeout(5, MYError) {
sleep(30)
}
rescue MYError => err
puts "MYError"
puts err
end
=== 注意
timeout による割り込みは Thread によって実現されて... -
TracePoint
# instruction _ sequence -> RubyVM :: InstructionSequence (9312.0) -
script_compiledイベント発生時にコンパイルされた RubyVM::InstructionSequenceインスタンスを返します。
...t_compiledイベント発生時にコンパイルされた
RubyVM::InstructionSequenceインスタンスを返します。
//emlist[例][ruby]{
TracePoint.new(:script_compiled) do |tp|
p tp.instruction_sequence # => <RubyVM::InstructionSequence:block in <main>@(eval):1>
end.enable do
eval("puts......'hello'")
end
//}
@raise RuntimeError :script_compiled イベントのための
イベントフックの外側で実行した場合に発生します。...