タグ

ブックマーク / shugo.net (2)

  • flat_map、非決定性計算、リスト内包表記 - Journal InTime(2011-10-22)

    _ flat_map、非決定性計算、リスト内包表記 Ruby 1.9では、Enumerable#flat_mapというメソッドが追加されている。 %w(ruby perl python).flat_map {|i| i.chars.to_a} #=> ["r", "u", "b", "y", "p", "e", "r", "l", "p", "y", "t", "h", "o", "n"] といった動作をするもので、要はブロックが返す配列を連結した配列を返す。 %w(ruby perl python).map {|i| i.chars.to_a}.flatten(1) とすれば同じことができるのにどうしてわざわざ追加したのか疑問に思われるかもしれないが、 実はflat_mapが追加されたということは、Rubyの配列がHaskellのリストモナドのように使えることを意味している。 以前の日記

    mnru
    mnru 2011/11/06
  • Journal InTime

    _ 大阪Ruby会議04に参加した 大阪Ruby会議04に参加してきた。 金子さんのキーノートのred green treeの話が面白かった。具象構文木便利そう。 昼はジョーカーさん、ぺん!さんとうどん屋に行ったが、はじめてべたかすうどんがおいしかった。 ぺん!さんの発表がcursesの再描画処理の自前実装みたいな話で、差分の検出手法を色々紹介されてて面白かった。 自分はstrscanなしで文字列をスキャンするという話をしたけど、実はSemVerつらくないですかという話の方がしたかった。 あと正規表現の \G はRubyのドキュメントに書かれていないのであまり知られてないので、知っていると便利なことがあるかもしれない。 というわけでwillnetさんとかの発表(ActiveRecordすごい便利だけど時々そういうとこあってはまりますよね)ほどではないにせよ、いつもよりはちょっと役に立つ内

    Journal InTime
    mnru
    mnru 2011/10/02
  • 1