ライブラリ
- English (24)
- ビルトイン (1473)
- json (12)
-
json
/ add / exception (12) -
net
/ http (60) - openssl (12)
- optparse (48)
- prettyprint (12)
- psych (27)
- readline (12)
- rexml (12)
-
rubygems
/ command (12) - shell (30)
-
shell
/ command-processor (18) -
shell
/ filter (18) - socket (72)
- strscan (84)
- syslog (48)
- thread (12)
- time (60)
- timeout (21)
- tmpdir (24)
- tracer (24)
- win32ole (24)
- zlib (324)
クラス
- Array (84)
- BasicSocket (12)
- Dir (24)
-
Encoding
:: Converter (48) -
Encoding
:: InvalidByteSequenceError (24) -
Encoding
:: UndefinedConversionError (12) - Enumerator (12)
-
Enumerator
:: ArithmeticSequence (28) - Exception (140)
- File (36)
-
File
:: Stat (12) - FrozenError (6)
-
Gem
:: Command (12) - IO (12)
- Integer (23)
-
JSON
:: State (12) - KeyError (16)
- LoadError (12)
- LocalJumpError (24)
- MatchData (48)
- Module (12)
- Mutex (2)
- NameError (44)
-
Net
:: HTTPResponse (12) - NoMethodError (12)
- Object (12)
-
OpenSSL
:: SSL :: SSLContext (12) - OptionParser (48)
- PrettyPrint (12)
- Random (36)
- Range (91)
- Regexp (48)
- Shell (30)
-
Shell
:: CommandProcessor (18) -
Shell
:: Filter (18) - SignalException (24)
- Socket (36)
- StopIteration (12)
- String (144)
- StringScanner (84)
- SystemCallError (24)
- SystemExit (24)
- Thread (72)
-
Thread
:: Mutex (10) -
Thread
:: Queue (36) -
Thread
:: SizedQueue (36) - Time (60)
- TracePoint (24)
- Tracer (24)
- UDPSocket (12)
- UNIXServer (12)
- UncaughtThrowError (33)
- WIN32OLE (24)
-
Zlib
:: GzipReader (276) -
Zlib
:: GzipWriter (24) -
Zlib
:: Inflate (12)
モジュール
- Comparable (12)
- Kernel (168)
-
Net
:: HTTPExceptions (12) -
Net
:: HTTPHeader (36) - Process (12)
- Psych (27)
- Readline (12)
- Signal (24)
- Syslog (48)
- Timeout (21)
キーワード
-
$ ERROR _ INFO (12) -
$ ERROR _ POSITION (12) -
/ (11) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - == (19)
- === (12)
- =~ (12)
- Fiber (12)
- GzipReader (12)
- Interrupt (12)
- Mutex (12)
-
NEWS for Ruby 2
. 2 . 0 (11) -
NEWS for Ruby 2
. 5 . 0 (8) - ParseException (12)
- Ruby プログラムの実行 (12)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (12)
- Ruby用語集 (12)
- Status (12)
- Thread (12)
- UndefinedConversionError (12)
- [] (138)
- abort (24)
- accept (24)
-
accept
_ nonblock (12) - args (12)
- at (12)
- backtrace (12)
-
backtrace
_ locations (12) -
beginning
_ of _ line? (12) - begins? (12)
- bol? (12)
-
ca
_ file= (12) - cause (12)
-
check
_ circular? (12) - clamp (12)
- close (12)
-
connect
_ nonblock (12) - cover? (19)
- delete (12)
- deq (24)
- div (12)
- each (24)
-
each
_ byte (24) -
each
_ line (24) - end (31)
- eof (12)
- eof? (12)
- errno (12)
-
error
_ bytes (12) -
error
_ char (12) - exception (24)
- exit (24)
- exit! (12)
-
exit
_ value (12) - fail (36)
- fetch (72)
- finish (12)
- first (24)
-
fixed
_ encoding? (12) - format (12)
- getc (12)
- getoptlong (12)
- getpeereid (12)
- gets (12)
-
handle
_ interrupt (12) - hash (7)
- httpdate (12)
-
incomplete
_ input? (12) -
initialize
_ copy (12) - inspect (12)
- irb (12)
- iso8601 (12)
- key (8)
- kill (12)
- last (24)
-
last
_ match (24) - lineno (12)
- lineno= (12)
- load (15)
-
local
_ variables (10) - logger (12)
- mkdir (18)
- mktmpdir (24)
- name (12)
- new (24)
- next (12)
- offset (24)
-
ole
_ get _ methods (12) -
ole
_ query _ interface (12) - open (48)
- open! (12)
- parse (12)
- path (12)
- peek (12)
- peep (12)
- pointer= (12)
- pop (24)
- pos= (12)
-
primitive
_ convert (48) -
public
_ constant (12) - raise (48)
-
raised
_ exception (12) - rand (36)
-
rb
_ compile _ cstr (12) -
rb
_ compile _ file (12) -
rb
_ compile _ string (12) - rdoc (12)
- read (12)
- readbyte (12)
- readchar (12)
- readline (24)
- readlines (12)
- reason (12)
- receiver (24)
-
recvfrom
_ nonblock (12) - reject (24)
- rename (12)
- reopen (12)
- require (12)
- response (12)
- result (12)
- rewind (12)
- rfc2822 (12)
- rfc822 (12)
- rss (12)
-
ruby 1
. 6 feature (12) -
set
_ backtrace (12) -
set
_ dictionary (12) -
set
_ get _ line _ procs (24) - setpriority (12)
- shift (24)
- signm (12)
- signo (12)
- slice (72)
- status (12)
- sticky? (12)
- success? (12)
- tag (11)
-
tcp
_ server _ loop (24) - terminate (12)
- test (18)
- throw (12)
- timeout (21)
-
to
_ json (12) -
to
_ s (35) - trap (24)
- tsort (12)
-
unalias
_ command (6) -
undef
_ system _ command (6) - ungetc (12)
- unlink (12)
- unlock (12)
- unscan (12)
- value (23)
- wrap (24)
- xmlschema (12)
- クラス/メソッドの定義 (12)
- スレッド (12)
- 制御構造 (12)
- 字句構造 (12)
検索結果
先頭5件
-
Kernel
. # exit(status = true) -> () (24.0) -
Rubyプログラムの実行を終了します。status として整 数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 0(正常終了)です。
...に応じて begin 節で捕捉することができます。
@param status 終了ステータスを整数か true または false で与えます。
//emlist[例][ruby]{
puts 'start'
begin
puts 'start1...'
exit
rescue SystemExit => err
puts "end1 with #{err.inspect}"
end
begin
puts 'star......t2...'
exit
ensure
puts 'end2...'
end
puts 'end' #実行されない
#=> start
# start1...
# end1 with #<SystemExit: exit>
# start2...
# end2...
#終了ステータス:0
//}
@see Kernel.#exit!,Kernel.#abort, d:spec/control#begin... -
Ruby プログラムの実行 (24.0)
-
Ruby プログラムの実行 === Ruby プログラム
...ログラムの実行は文の連なりの評価です。なんらかの形であたえられたプログラムテキストをコンパイルし、BEGIN 文があればそれを評価し、トップレベルの式の連なりを評価し、END ブロックがあれば最後にそれを評価して......は nil です。
==== until
==== if 修飾子
==== unless 修飾子
==== while
==== until
==== while 修飾子
==== until 修飾子
==== for
==== begin 〜 end
==== クラス定義式
クラスを定義します。
評価は(コンパイル時ではなく)実行時に行われます。
書式......返します。
ただし Fixnum Symbol のインスタンスおよび true false nil には特異メソッド
は定義できません。
==== BEGIN
コンパイル時に登録される (評価は実行の最初)
==== END
コンパイル時に登録される (評価は実行の最後)
=== メ... -
Ruby用語集 (24.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
...ジェクトの順序関係を表す
演算子 <=> の俗称。
: 埋め込みドキュメント
: embedded document
ソースコード中の =begin 行から =end 行まで。コメントとみなされ実行されない。
その名の通り、この部分にコードのドキュメント......t
Ruby においては、例外の発生もしくは Kernel.#throw によって
処理の実行が中断されること。
例外の場合は begin/rescue によって、throw の場合は
Kernel.#catch によって捕捉されるまで、制御構造やメソッド
呼び出しの階層......、構文上特別な意味を持つため、
変数・定数・メソッドなどの名前として自由に使えない文字列。
if、do、begin、end、nil、__FILE__ といったものが該当する。
メソッド名の場合、def のあとに書いたり、レシーバーを明示... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (24.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...alc_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 = %f\n", min[0] + min[1], min......pi = 3.141443
例 独自の例外を発生させるタイムアウト
#!/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 によ......t::Error 例外があがっています。
例 timeout が割り込めない
require 'timeout'
require 'socket'
t = 0.1
start = Time.now
begin
Timeout.timeout(t) {
p TCPSocket.gethostbyname("www.ruby-lang.org")
# (A)
}
ensure
p Time.now - start
end
# 実行... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (24.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...alc_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 = %f\n", min[0] + min[1], min......pi = 3.141443
例 独自の例外を発生させるタイムアウト
#!/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 によ......t::Error 例外があがっています。
例 timeout が割り込めない
require 'timeout'
require 'socket'
t = 0.1
start = Time.now
begin
Timeout.timeout(t) {
p TCPSocket.gethostbyname("www.ruby-lang.org")
# (A)
}
ensure
p Time.now - start
end
# 実行... -
rdoc (24.0)
-
RDoc は Ruby のドキュメント生成を行うためのライブラリです。rdoc という ドキュメント生成のためのコマンドも含んでいます。
...ます。'#' で始まるコメントも使え
ますし、=begin/=end でのコメントも使えます。=begin/=end を使う場合は、
以下のように =begin の行に 'rdoc' タグを付ける必要があります。
=begin rdoc
Documentation to
be processed by RDoc.
=end
パラ... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (18.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への変更点(まとめ)/サポートプラットフォームの追加>))
...776>))
: ((<"rescue/ensure on begin .. end while"|制御構造/while 修飾子>)) [compat]
rescue/ensure を持つ begin 式も while/until 修飾できるようになりまし
た。
以前は、rescue/ensure を持つ while/until 修飾式は、通常の begin 式に
while/until 修飾... -
Interrupt (18.0)
-
SIGINT シグナルを捕捉していないときに SIGINT シグナルを受け取ると発生します。 SIGINT 以外のシグナルを受信したときに発生する例外については SignalException を参照してください。
...については
SignalException を参照してください。
使用例
=begin
#SIGINTを捕捉したい場合
Signal.trap('INT'){
print "\nINTを捕捉した。\n"
exit 1
}
=end
begin
begin
print "z"
$stdout.flush
sleep(1)
end while true
rescue In... -
Kernel
. # fail -> () (18.0) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
...のような
例外が存在しないが自身は捕捉されている時には例外 RuntimeError を発生させます。
//emlist[例][ruby]{
begin
open("nonexist")
rescue
raise #=> `open': No such file or directory - "nonexist" (Errno::ENOENT)
end
//}
引数を渡した場合は、例外......ッドが例外オブジェクトを返さなかった場合に発生します。
例外の捕捉の例を示します。
//emlist[例1][ruby]{
begin
raise NameError,"!!error!!"
rescue ArgumentError => err
rescue NameError => err
rescue TypeError => err
ensure
p err #=> #<NameError: !!error!!>......end
foo(4) #=> in method.in rescue.in method.in else.in ensure.
//}
//emlist[例3][ruby]{
class MyException
def exception(mesg=nil)
SecurityError.new(mesg)
end
end
begin
raise MyException.new
rescue SecurityError
p $! #=> #<SecurityError: SecurityError>
end
//}
@see Kernel.#caller...