読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

今日見つけたコード

Ruby

なんだこのrescueと思ったら、

def foo
  # 処理
rescue LoadError # なんだこれ
end

メソッド定義の一部でした。こういう書き方もできるのかー。

def foo
  puts "start"
  raise "test"
  puts "end"
rescue
  puts "rescue"
ensure
  puts "ensure"
end

foo

実行結果です。

start
rescue
ensure

クラスやモジュールの定義でも使えます。

#クラス定義
class Hoge
  puts "class start"
  raise "test"
  puts "class end"
rescue
  puts "class rescue"
ensure
  puts "class ensure"
end

#モジュール定義
module Var
  puts "module start"
  raise "test"
  puts "module end"
rescue
  puts "module rescue"
ensure
  puts "module ensure"
end

実行結果です。

class start
class rescue
class ensure
module start
module rescue
module ensure