2006-12-11から1日間の記事一覧

String#[]に正規表現を渡す

Rubyでは、String#[]に正規表現を渡すと、マッチした部分文字列を返します。 s = "We wish you a Merry Christmas!" p s[/C\w+mas/] #=> "Christmas"

Marshal

Rubyでは、Marshal.dumpでオブジェクトのマーシャリング(シリアライゼーション)ができます。できた文字列(マーシャルデータ)はMarshal.loadで元に戻すことができます。詳しくはrefe Marshal.dumpおよびrefe Marshal.loadを参照。 a = [1, 2, { 'Alice' =…

Net::HTTP

Net::HTTP.getを使うと、Webページを簡単に取得できます。 以下の例では、http://www.hyuki.com/のページを取得して、タイトルを正規表現で抜き出して表示します。 require 'net/http' s = Net::HTTP.get(URI.parse("http://www.hyuki.com/")) puts s[%r{<title>.*?</title>…

時刻文字列の書式指定

strftimeを使うと、日時を書式指定して文字列化できます。 t = Time.gm(2006, 1, 2, 3, 4, 5) p t.strftime("%Y-%m-%d %H:%M:%S") #=> "2006-01-02 03:04:05" p t.strftime("%Y%m%d%H%M%S") #=> "20060102030405"iso8601なども面白い。 require 'time' t = T…

flattenせずに配列探索

配列をflattenせずに再帰的に探索するメソッドを書いてみました。でもあまり格好良くありません。 a = [ 1, 2, 3, [4, 5, 6], [7, [8, 9, 10]]] class Array def recurse_find(x) self.each do |item| if item == x return true elsif item.is_a?(Enumerable…