種類
- 文書 (33)
- 特異メソッド (18)
- クラス (11)
- モジュール関数 (11)
- インスタンスメソッド (11)
ライブラリ
- ビルトイン (40)
- continuation (11)
クラス
- Enumerator (29)
モジュール
- Kernel (11)
キーワード
- Continuation (11)
- new (18)
-
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 4 feature (11) - size (11)
- 制御構造 (11)
検索結果
先頭5件
-
Kernel
. # loop -> Enumerator (18215.0) -
(中断されない限り)永遠にブロックの評価を繰り返します。 ブロックが指定されなければ、代わりに Enumerator を返します。
...れば、代わりに Enumerator を返します。
//emlist[例][ruby]{
loop do
print "Input: "
line = gets
break if !line or line =~ /^qQ/
# ...
end
//}
与えられたブロック内で StopIteration を Kernel.#raise すると
ループを終了して nil を返します。
ループ......ば、代わりに Enumerator を返します。
//emlist[例][ruby]{
loop do
print "Input: "
line = gets
break if !line or line =~ /^qQ/
# ...
end
//}
与えられたブロック内で StopIteration を Kernel.#raise すると
ループを終了して Enumerator が最後に返した値......。
ループを終了させる場合、通常は break を使用してください。
//emlist[例][ruby]{
enum = Enumerator.new { |y|
y << "one"
y << "two"
:ok
}
result = loop {
puts enum.next
} # => :ok
//}
@return break の引数など、ループ脱出時の値を返します。... -
Continuation (6018.0)
-
継続を表すクラスです。
...ル変数の定義、スタックフレーム)を cont に記憶
してブロックを実行します。cont は、Continuation クラスのインスタ
ンスで、Continuation#call メソッドを実行するこ
とでいつでも記憶した状態を継続することができます。
C 言語......値を返しますが、Continuation#call(args)
が呼び出されたときは args を返します。
例:
以下は、Continuationによる無限ループの例
def LOOP
c = nil
yield callcc {|cnt| c = cnt; true }
c.call(false)
end
LOOP {|v| p v}
=> true
false......false
false
:
:
callcc とは、call-with-current-continuation の略です。... -
ruby 1
. 6 feature (3294.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) ->...... nil
を返すようになりました。(String#[]やString#slice と同じ結果を返すと
いうことです)
p "foo".slice!("bar") # <- 以前からこちらは nil を返していた
p "foo".slice!(5,10)
=> ruby 1.6.7 (2002-03-01) [i586-linux]
nil......ていました。
((<ruby-dev:14743>))
def foo(t)
t.run
end
t = Thread.start do
t = $_= "sub"
loop{Thread.stop;puts "sub:#$_"}
end
$_ = "main"
t.run # => sub:sub
puts "main:#$_" # =>... -
Enumerator
# size -> Integer | Float :: INFINITY | nil (3219.0) -
self の要素数を返します。
...at::INFINITY を返します。
Enumerator.new に Proc オブジェクトを指定していた場合はその
実行結果を返します。呼び出した時に要素数が不明であった場合は nil を返し
ます。
//emlist[例][ruby]{
(1..100).to_a.permutation(4).size # => 94109400
loop.......size # => Float::INFINITY
(1..100).drop_while.size # => nil
//}
@see Enumerator.new... -
Enumerator
. new(size=nil) {|y| . . . } -> Enumerator (3213.0) -
Enumerator オブジェクトを生成して返します。与えられたブロックは Enumerator::Yielder オブジェクトを 引数として実行されます。
...Enumerator オブジェクトを生成して返します。与えられたブロックは Enumerator::Yielder オブジェクトを
引数として実行されます。
生成された Enumerator オブジェクトに対して each を呼ぶと、この生成時に指定されたブロックを......る Enumerator オブジェクトの要素数を指定します。
Integer、Float::INFINITY、Proc オブジェク
ト、nil のいずれかを指定します。Enumerator#size の実
行時に参照されます。
//emlist[例][ruby]{
enum = Enumerator.new{|y|......(1..10).each{|i|
y << i if i % 5 == 0
}
}
enum.each{|i| p i }
#=> 5
# 10
fib = Enumerator.new { |y|
a = b = 1
loop {
y << a
a, b = b, a + b
}
}
p fib.take(10) #=> [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
//}... -
Enumerator
. new(obj , method = :each , *args) -> Enumerator (3103.0) -
オブジェクト obj について、 each の代わりに method という 名前のメソッドを使って繰り返すオブジェクトを生成して返します。 args を指定すると、 method の呼び出し時に渡されます。
...method イテレータメソッドの名前を表すシンボルまたは文字列
@param args イテレータメソッドの呼び出しに渡す任意個の引数
//emlist[例][ruby]{
str = "xyz"
enum = Enumerator.new(str, :each_byte)
p enum.map {|b| '%02x' % b } # => ["78", "79", "7a"]
//}... -
ruby 1
. 8 . 4 feature (3024.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。......# => ruby 1.8.3 (2005-09-21) [i686-linux]
0
nil
# => ruby 1.8.4 (2005-12-22) [i686-linux]
0
0
: シグナル [bug]
#Sun Oct 16 03:38:07 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
#
# * rubysig.h (CHECK_INTS): prevent sig......せずに待ち続けてしまう可能性があるというバグを修正しました.
#
# * ext/tk/lib/multi-tk.rb: kill the meaningless loop for the deleted Tk
# interpreter.
MultiTkIp で生成した Tk インタープリタを削除した後も,
不要となった... -
制御構造 (138.0)
-
制御構造 条件分岐: * if * unless * case 繰り返し: * while * until * for * break * next * redo * retry 例外処理: * raise * begin その他: * return * BEGIN * END
...節)の最後に評価し
た式の結果を返します。else 節がなくいずれの条件も成り立たなけれ
ば nil を返します。
Ruby では false または nil だけが偽で、それ以外は 0 や空文
字列も含め全て真です。
Ruby では if を繋げるのは elsif......する時に、左辺の式を評価してその結果を返します。
条件が成立しなければ nil を返します。
====[a:unless] unless
//emlist[例][ruby]{
unless baby?
feed_meat
else
feed_milk
end
//}
文法:
unless 式 [then]
式 ...
[else......unexpected keyword_BEGIN
class Foo
BEGIN { p "begin" }
end
# => -e:2: syntax error, unexpected keyword_BEGIN
loop do
BEGIN { p "begin" }
end
# => -e:2: syntax error, unexpected keyword_BEGIN
====[a:END] END
//emlist[例][ruby]{...