2007-11-14から1日間の記事一覧

例外が怒っても安心して終了するには

例外の書き方 begin raise if ... ... raise "a" resuce 例外クラス ...処理 rescue 例外クラス ...処理 rescue ....上の例外以外のもの時実行される else ....例外が起きなかったとき実行される ensure ...最期に必ず事項される。(後処理) endgetsとちが…

Arrayオブジェクトにもの申す

irb(main):001:0> [1,2,3][3] => nil何故、例外を起こさない!!*1と、いうことで例外を起こすようにArray#[]を再定義してみる。 #!/usr/bin/ruby class Array def [](i) raise IndexError unless self.size>i.abs self.at(i) end end a=Array[1,2,3] puts a…

正規表現でマッチした文字列だけすぐほしいとき

結論 マッチデータ全体がほしいとき /Regexp/=~str&&$& 部分がほしいときには /Regexp/=~str&&$n 恥 マッチが失敗することを考慮するときにはto_a[1]を投げれば良かったんじゃないか でも、短いしperlでも使える。よしとしよう。 $ perl -e 'print "abc"=~/.…