種類
ライブラリ
- English (22)
- ビルトイン (987)
- csv (77)
- getoptlong (22)
-
mutex
_ m (11) - objspace (11)
- openssl (11)
- optparse (176)
- pp (11)
- rake (22)
-
rdoc
/ context (55) -
rdoc
/ top _ level (44) -
rubygems
/ gem _ openssl (11) - set (11)
- thread (2)
- timeout (35)
- tracer (44)
- tsort (43)
- uri (11)
-
webrick
/ httputils (66) - win32ole (66)
クラス
-
ARGF
. class (285) - BasicObject (33)
- CSV (77)
- Class (11)
- Data (4)
- Dir (66)
-
Enumerator
:: Lazy (11) - Exception (11)
- File (33)
- GetoptLong (22)
- IO (55)
- Method (21)
- Module (104)
- NilClass (11)
- Object (33)
- OptionParser (176)
-
RDoc
:: Context (55) -
RDoc
:: TopLevel (44) - Range (11)
- Set (11)
- String (11)
- Struct (14)
- Thread (22)
-
Thread
:: Backtrace :: Location (44) - TracePoint (44)
- Tracer (44)
-
URI
:: Generic (11) -
WEBrick
:: HTTPUtils :: FormData (66) -
WIN32OLE
_ EVENT (11) -
WIN32OLE
_ TYPE (33) -
WIN32OLE
_ TYPELIB (22)
モジュール
- Enumerable (88)
-
Gem
:: SSL (11) - Kernel (49)
-
Mutex
_ m (11) - ObjectSpace (55)
-
OpenSSL
:: ASN1 (11) -
Rake
:: TaskManager (11) - TSort (43)
- Timeout (19)
キーワード
-
$ ERROR _ INFO (11) -
$ ERROR _ POSITION (11) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - < (11)
- <=> (11)
- == (11)
- ARGF (11)
- ConditionVariable (11)
-
DIGEST
_ SHA1 (11) - Location (11)
- Marshal フォーマット (11)
-
NEWS for Ruby 2
. 0 . 0 (11) -
NEWS for Ruby 2
. 7 . 0 (5) -
NEWS for Ruby 3
. 0 . 0 (4) - Numeric (11)
- Options (11)
- ReFe (11)
- Ruby用語集 (11)
- [] (11)
-
absolute
_ path (11) - accept (22)
-
add
_ class (11) -
add
_ class _ or _ module (22) -
add
_ filter (22) -
add
_ module (11) -
all
_ classes _ and _ modules (11) -
append
_ features (11) - autoload? (11)
- backtrace (11)
-
base
_ label (11) -
callee
_ id (11) - cgi (11)
-
class
_ eval (11) - classes (11)
- classify (11)
- codepoints (14)
- debug (11)
-
default
_ event _ sources (11) -
default
_ port (11) - define (4)
-
define
_ finalizer (22) -
defined
_ class (11) - each (33)
-
each
_ char (22) -
each
_ classmodule (11) -
each
_ codepoint (22) -
each
_ data (11) -
each
_ line (44) -
each
_ object (22) -
each
_ strongly _ connected _ component (11) -
each
_ strongly _ connected _ component _ from (21) - error (11)
- error? (11)
- filename (11)
- filename= (11)
-
find
_ class _ named (11) -
find
_ local _ symbol (11) -
for
_ fd (11) - getbyte (11)
- getc (11)
- gets (33)
- handler= (11)
-
inplace
_ mode (11) -
inplace
_ mode= (11) - inspect (22)
-
instance
_ eval (22) -
instance
_ exec (11) -
instance
_ method (11) -
instance
_ variable _ get (11) - intern (11)
-
internal
_ encoding (11) - irb (11)
- lines (42)
- max (22)
-
method
_ id (11) - min (44)
-
module
_ eval (11) - name (22)
- name= (11)
- new (102)
-
ole
_ classes (22) -
ole
_ type (11) -
ole
_ types (11) - on (132)
- open (132)
- pathmap (11)
-
pretty
_ print (11) - private (16)
- rdoc (11)
-
reachable
_ objects _ from (11) - read (22)
-
read
_ nonblock (9) - readbyte (11)
- readlines (11)
- reject (22)
-
respond
_ to? (11) -
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 3 feature (11) -
ruby 1
. 8 . 4 feature (11) -
ruby 1
. 9 feature (11) -
set
_ get _ line _ procs (22) -
set
_ trace _ func (11) -
sort
_ by (22) -
source
_ location (11) -
super
_ method (10) - superclass (11)
- timeout (35)
-
to
_ s (22) - tracer (11)
- traverse (11)
- tsort (11)
-
tsort
_ each (11) -
webrick
/ cgi (11) - パターンマッチ (11)
- メソッド呼び出し(super・ブロック付き・yield) (11)
- リテラル (11)
- 制御構造 (11)
- 正規表現 (11)
- 演算子式 (11)
検索結果
先頭5件
-
irb (26126.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>......ブジェクトに
IRB::Context オブジェクトを渡して実行します。
これによってサブ irb の設定をまとめて設定することができます。
以下に例を示します。
$ irb
irb(main):001:0> IRB.conf[:IRB_RC] = lambda {|conf| conf.prompt_i = "> " }
=> #<Proc... -
NilClass
# |(other) -> bool (24124.0) -
other が真なら true を, 偽なら false を返します。
...other が真なら true を, 偽なら false を返します。
@param other 論理和を行なう式です
//emlist[例][ruby]{
nil | true # => true
nil | false # => false
nil | nil # => false
nil | "a" # => true
//}... -
TracePoint
# defined _ class -> Class | module (15487.0) -
メソッドを定義したクラスかモジュールを返します。
...す。
//emlist[例][ruby]{
class C; def foo; end; end
trace = TracePoint.new(:call) do |tp|
p tp.defined_class # => C
end.enable do
C.new.foo
end
//}
メソッドがモジュールで定義されていた場合も(include に関係なく)モジュー
ルを返します。
//emlist[例][ruby]......{
module M; def foo; end; end
class C; include M; end;
trace = TracePoint.new(:call) do |tp|
p tp.defined_class # => M
end.enable do
C.new.foo
end
//}
[注意] 特異メソッドを実行した場合は TracePoint#defined_class は特異クラ
スを返します。また、Kernel.#set_trace_fun......スではなく元のクラスを返します。
//emlist[例][ruby]{
class C; def self.foo; end; end
trace = TracePoint.new(:call) do |tp|
p tp.defined_class # => #<Class:C>
end.enable do
C.foo
end
//}
Kernel.#set_trace_func と TracePoint の上記の差分に注意して
ください。
@s... -
Class
# superclass -> Class | nil (15420.0) -
自身のスーパークラスを返します。
...//emlist[例][ruby]{
File.superclass #=> IO
IO.superclass #=> Object
class Foo; end
class Bar < Foo; end
Bar.superclass #=> Foo
Object.superclass #=> BasicObject
//}
ただし BasicObject.superclass は nil を返します。
//emlist[例][ruby]{
BasicObject.......superclass #=> nil
//}......superclass #=> nil
//}
@see Class#subclasses... -
ARGF
. class # internal _ encoding -> Encoding | nil (15413.0) -
ARGF から読み込んだ文字列の内部エンコーディングを返します。 内部エンコーディングが指定されていない場合は nil を返します。
...nil を返します。
まだ読み込み処理を始めていない場合は Encoding.default_external を返します。
ARGF.class#set_encoding で設定します。
例:
# $ ruby -Eutf-8 test.rb
# test.rb
ARGF.internal_encoding # => #<Encoding:UTF-8>
ARGF.set_encoding('u......tf-8','ascii')
ARGF.internal_encoding # => #<Encoding:US-ASCII>
例:
ARGF.binmode
ARGF.internal_encoding # => nil
@see IO, ARGF.class#external_encoding... -
RDoc
:: TopLevel . find _ class _ named(name) -> RDoc :: NormalClass | RDoc :: SingleClass | nil (12703.0) -
RDoc が収集したクラスの内、name で指定した名前のクラスを返します。見つ からなかった場合は nil を返します。
...RDoc が収集したクラスの内、name で指定した名前のクラスを返します。見つ
からなかった場合は nil を返します。
@param name クラス名を文字列で指定します。... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (12319.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...ロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するの......す。proc は obj の回収時に obj の ID を引数として実行されます。
=== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
e......file は、ファイナライザの使い方の
良い例になっています。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def ini... -
Set
# classify {|o| . . . } -> Hash (12313.0) -
集合をブロックの値によって分類し、結果をハッシュとして返します。
...ます。
生成されるハッシュのキーはブロックの実行結果、値は分類された集合と
なります。
//emlist[][ruby]{
require 'set'
numbers = Set[10, 4.5, 20, 30, 31.2]
p numbers.classify {|o| o.class}
# => {Integer=>#<Set: {10, 20, 30}>, Float=>#<Set: {4.5, 31.2}>}
//}... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (12219.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...ロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するの......す。proc は obj の回収時に obj の ID を引数として実行されます。
=== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
e......file は、ファイナライザの使い方の
良い例になっています。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def ini... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (9348.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。
また sec が 0 もしくは nil のときは制限時間なし......exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラーメッセージを指定します.省略した場合は
"execution expired" になります.
例 長い計算のタイムアウト
require 'timeout'
def calc_pi(min)......事はできないので、IO.popen、Kernel.#openを使用するなどの工夫が必要です。
例 外部コマンドのタイムアウト
require 'timeout'
# テスト用のシェルをつくる。
File.open("loop.sh", "w"){|fp|
fp.print <<SHELL_EOT
#!/bin/bash
S="scale=10"
M...