スレ立てるまでもない質問はここで 118匹目at TECH
スレ立てるまでもない質問はここで 118匹目 - 暇つぶし2ch976:デフォルトの名無しさん
12/05/15 12:35:55.44
>>967
実践はともかく、プログラミングの学習においては、基本的な関数を自作するのは重要だと思う

それはともかく、Haskellと比較用にRubyでlength関数作ろうとしたら配列はeachメソッドで各要素にアクセスできるが、文字列はeachは行単位で、文字単位にはeach_charを使わないといけないのが分かったんだが、それだと配列と文字列で別々にlength関数作らんといかんの?
ダックタイピング出来るのがLLの利点じゃなかったのかと言いたい
(しかも、1.9からは文字列のeachも廃止になるのでeachの構文糖衣であるfor文が文字列で使えない)

以下のコードは配列だと正しい結果を返すが、文字列だと1.8系だと正しくない結果を返し、1.9系だとエラーになる(eachメソッドが無いぞゴラァ!と怒られる)

def mylength (str)
sum = 0
for i in str
sum += 1
end
return sum
end

Ruby詳しくないとは言え、この動作がおかしいのだけは理解できる



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch