Re: String#succ

元々は Excel でセルの座標指定の為に列名を作ろうと思ったけど、途中で「あ、要らんわ」(数値で指定できた)と気づき、放っておいたのを作ってくれた方がいましたよ。勉強になります。

  • 再帰を使って:「指定した回数分String#succ - I sort my thought...
    • Ruby の再帰ってスタックオーバーフロー起こさないようにする方法は無いのかな?
    • continuation ワカラナス。scheme やってるからそのうちぶつかるだろう。
  • 汎用的に:「任意のメソッドを指定した回数分繰り返すメソッド - I sort my thought...
    • count = count.to_i ってのは防御的プログラミングというやつか?
    • 引数の並びは逆の方がいいよなぁ("a".repeat(3, :succ) じゃなくて "a".repeat(:succ, 3))と思ったけど、繰り返すメソッドも引数をとれるのね、偉い。
  • 関数型言語っぽく:「String#succ問題への回答 - 世界線航跡蔵
    • 面白い、ここらへんをちょちょいと考えられるようになりたい。
    • 「射の合成」とかわかりません。知識が足りてません。圏論Haskell やるまで当たらないなぁ。
    • Racc やってて lhs, rhs がわかって良かった(と、いちいち書くということは思い出すのに時間がかかったということだ)。「left hand side, right hand side」リズム良く読むと、ベストキッド気分。
    • [64, 65, 66].map(&(:succ * :chr * :to_sym)) って前から作用するのかぁ、* だと順番がよくイメージできないなぁ。そんなもん?
  • inject([init]) {|result, item| ... }を使って:「String#succ - Journal InTime(2006-05-02)
    • result の方しか使わないってなんかずりぃwwww
    • for 文からインデックスを抜いた each があるように、inject から item を抜いたメソッドはありうるか?
    • 「最近のトラックバック」にはあるけど、2006-04-30 の日記のトラックバック欄に表示されてないな。なぜ?


両方とも「フィルタ (2) - LazyLoadLife」で使ったカリー化で何か面白いことできないかなぁと思うが、ちょっと今時間ない。多分私がやると1日潰れちゃうんで。