るりまサーチ

最速Rubyリファレンスマニュアル検索!
164件ヒット [1-100件を表示] (0.055秒)
トップページ > クエリ:nil[x] > クエリ:end[x] > クエリ:loop[x]

別のキーワード

  1. _builtin nil?
  2. nilclass nil?
  3. object nil?
  4. _builtin nil
  5. object nil

ライブラリ

クラス

モジュール

キーワード

検索結果

<< 1 2 > >>

Kernel.#loop { ... } -> object | nil (18221.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 すると
ループを終了して...
...
ループを終了させる場合、通常は break を使用してください。

//emlist[例][ruby]{
enum = Enumerator.new { |y|
y << "one"
y << "two"
:ok
}

result = loop {
puts enum.next
} # => :ok
//}


@return break の引数など、ループ脱出時の値を返します。...

Kernel.#loop -> Enumerator (18121.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 すると
ループを終了して...
...
ループを終了させる場合、通常は break を使用してください。

//emlist[例][ruby]{
enum = Enumerator.new { |y|
y << "one"
y << "two"
:ok
}

result = loop {
puts enum.next
} # => :ok
//}


@return break の引数など、ループ脱出時の値を返します。...

ruby 1.6 feature (570.0)

ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。

... 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:17155>))

open("|-","r+") {|f|
if f
f.dup.close_write
else
sleep 1
end

}

=> ruby 1.6.7 (2002-03-01) [i586-linux]
-:3:in `close_write': closing non-duplex IO for writing (IOError)
from -:3...
...てしまっていました。
((<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:#$_"...

制御構造 (544.0)

制御構造 条件分岐: * if * unless * case 繰り返し: * while * until * for * break * next * redo * retry 例外処理: * raise * begin その他: * return * BEGIN * END

...* until
* for
* break
* next
* redo
* retry
例外処理:
* raise
* begin
その他:
* return
* BEGIN
* END

Rubyでは(Cなどとは異なり)制御構造は式であって、何らかの値を返すものが
あります(返さないものもありま...
...節)の最後に評価し
た式の結果を返します。else 節がなくいずれの条件も成り立たなけれ
nil を返します。

Ruby では false または nil だけが偽で、それ以外は 0 や空文
字列も含め全て真です。

Ruby では if を繋げるのは elsif...
...BEGIN { p "begin" }
end

# => -e:2: syntax error, 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...

Fiber#raise(exception, message = nil, backtrace = nil) -> object (232.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

...{ Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}

//emlist[ファイバー内のイテレーションを終了させる例][ruby]{
f = Fiber.new do
loop
do
Fiber.yield(:loop)
end

:exit
end


p f.resume # => :loop
p f.raise StopIteration # => :exit
//}...

絞り込み条件を変える

Timeout.#timeout(sec, exception_class = nil) {|i| ... } -> object (203.0)

ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。

...::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。

また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。

@param sec タイムアウトする時間を秒数で指定します.
@param e...
...'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 = %f\n", m...
...ムアウト
#!/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 によって実現されてい...

Thread.pass -> nil (119.0)

他のスレッドに実行権を譲ります。実行中のスレッドの状態を変えずに、 他の実行可能状態のスレッドに制御を移します。

...権を譲ります。実行中のスレッドの状態を変えずに、
他の実行可能状態のスレッドに制御を移します。

Thread.new do
(1..3).each{|i|
p i
Thread.pass
}
exit
end


loop
do
Thread.pass
p :main
end


#=>
1
:main
2
:main
3
:main...

Timeout.#timeout(sec, exception_class, message) {|i| ... } -> object (103.0)

ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。

...::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。

また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。

@param sec タイムアウトする時間を秒数で指定します.
@param e...
...'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 = %f\n", m...
...ムアウト
#!/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 によって実現されてい...

Observable (102.0)

Observer パターンを提供するモジュールです。

...er ### Periodically fetch a stock price.
include Observable

def initialize(symbol)
@symbol = symbol
end


def run
last_price = nil
loop
do
price = Price.fetch(@symbol)
print "Current price: #{price}\n"
if price != last_price...
...notify_observers(Time.now, price)
end
sleep 1
end

end

end


class Price ### A mock class to fetch a stock price (60 - 140).
def self.fetch(symbol)
60 + rand(80)
end

end


class Warner ### An abstract observer of Ticker objects....
...imit = limit
ticker.add_observer(self)
end

end


class WarnLow < Warner
def update(time, price) # callback for observer
if price < @limit
print "--- #{time.to_s}: Price below #@limit: #{price}\n"
end

end

end


class WarnHigh < Warner
def update(t...

ruby 1.8.4 feature (78.0)

ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。

...適合する文字列を厳密にした。((<ruby-core:03573>)),((<ruby-dev:27478>))

1) alias :"foo" :"bar"

def bar; p "bar"; end
alias :"foo" :"bar"
foo

# => ruby 1.8.4 (2005-12-22) [i686-linux]
-:2: syntax error, unexpecte...
...z]+x[0-9]+$/ =~ "hogex111")
p(/^[\x61-\x7a]+x[0-9]+$/ =~ "hogex111")

# => 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 M...
...せずに待ち続けてしまう可能性があるというバグを修正しました.

#
# * ext/tk/lib/multi-tk.rb: kill the meaningless loop for the deleted Tk
# interpreter.

MultiTkIp で生成した Tk インタープリタを削除した後も,
不要となった...

絞り込み条件を変える

<< 1 2 > >>