2011年10月10日

[ruby-list:48454] Re: 1.8.7と1.9.2の挙動の違いについて

出沢です

ご質問の 1.8 と 1.9 の違い、ではないので申し訳ないのですが
2点ほど

プログラム. 1 ですが
> 1.9.2では「10」となります(期待値)

こうなりました?

> if res.to_s.length > 1
>  return calc(res.to_s)
> else

これが効いて 1 になっちゃいません?

で、蛇足の本題?ですが

> のようにscanとjoinが必要な理由を初心者に説明するのはきついです。
> これだと、自信を持って「Rubyの方がいいよ」とは言いづらいです。

の所です。
「期待値 10」と言うことは、これらの例題は
1234 → 1+2+3+4 =10
を再帰を使って解く という事を(PHPと比較して?)示す
というのを意図されているのかと拝察します。

それって相手の土俵に乗ってる様な気がします。
たしか ruby は再帰はあまり得意ではなかった(最適化の点で)
とも思いますし。
「1234 → 10 を解く」
にまで戻って、NARUSEさんが示された inject を使うとかするとか、
それがハイレベルすぎるようだと避けるにしても、
  PHPのアルゴリズムをrubyに置き換える
のではなく、
  ruby ならこう(簡単に)書けるよ、
ということを示されるのが良いのではないでしょうか。


投稿者 xml-rpc : 2011年10月10日 09:08
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/106840
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。