image

  • フォト Amazonギフト券
    ※この時計の時刻は、閲覧しているパソコンのものであり、必ずしも正確な時間とは限りません

検索

最近のトラックバック

無料ブログはココログ

« derby に郵便番号をインポートしてみた | トップページ | 映画 バベル、ホリデーを観た, etc... »

2007-04-29

Ruby クックブックを読み始めた

http://examples.oreilly.com/rubyckbk/
から 書籍中のサンプルコードを download した。
翻訳書籍では、いくつかの章が省略されているのがよくわかる。
XML を扱う章をなぜ省略してしまったんだろう...
やっぱり、原書を買うべきだったなぁ。

翻訳での第一章の最後の例は、面白い。
jruby でも問題なく動作した。

# This code will sleep forever... OR WILL IT?
require 'timeout'
before = Time.now
begin
  status = Timeout.timeout(5) { sleep }
rescue Timeout::Error
  puts "I only slept for #{Time.now-before} seconds."
end
# I only slept for 5.035492 seconds.
#---
def count_for_five_seconds
  $counter = 0
  begin
    Timeout::timeout(5) { loop { $counter += 1 } }
  rescue Timeout::Error
    puts "I can count to #{$counter} in 5 seconds."
  end
end

count_for_five_seconds
# I can count to 2532825 in 5 seconds.
$counter                                 # => 2532825
#---

これは、長い時間がかかる処理を 5 秒で打ち切ってしまうという例だ。
こんなことができるとは知らなかった。
(同様のことを java で行うとしたら、どのように書く?)

« derby に郵便番号をインポートしてみた | トップページ | 映画 バベル、ホリデーを観た, etc... »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/184434/14880923

この記事へのトラックバック一覧です: Ruby クックブックを読み始めた:

« derby に郵便番号をインポートしてみた | トップページ | 映画 バベル、ホリデーを観た, etc... »

mokuji

2013年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

google

  • twitter
  • __
  • _
    Googleボットチェッカー

合わせて読む

  • 合わせて読む
    フィードメーター - katoy: cocolog あわせて読みたい

リンク