2010-03-12
rubyの基礎メモ【comparison of Fixnum with String failed (ArgumentError)】エラー
sort使ったらエラーが出た。
b = [1, 2, 3, 99, 20.9, "a", "10"]
みたいな配列だったので、
文字列と数値がごちゃ混ぜだけど、どっちで比較すんじゃい!
ってエラーらしい
to_s
p b.sort{|x,y|x.to_s <=> y.to_s}
結果 [1, "10", 2, 20.9, 3, 99, "a"]
to_s メソッドで文字列にしてから比較してみた。
数値比較がよければ
p b.sort{|x,y|x.to_i <=> y.to_i}
結果 ["a", 1, 2, 3, "10", 20.9, 99]
ちなみに、rubyのsortメソッドはデフォルト文字列比較らしい
perlと色々違って面白い。
リンク元
- 202 http://pipes.yahoo.com/pipes/pipe.info?_id=tDfBdGWF3RGl9XNm1L3fcQ
- 16 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1137589596
- 5 http://www.google.co.jp/search?hl=ja&source=hp&q=mixiアプリ CSS&lr=&aq=f&aqi=&aql=&oq=
- 5 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLG,GGLG:2006-19,GGLG:ja&q=otf+ttf
- 4 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&q=mixiアプリ+jquery&lr=lang_ja&aq=0&aqi=g5g-r4&aql=&oq=mixiアプリ+j
- 4 http://www.google.co.jp/search?q=jdk-6-doc-ja.zip&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a
- 4 http://www.google.co.jp/search?source=ig&hl=ja&rlz=1G1GGLQ_JAJP368&q=受け入れられるのは、注釈処理が明示的に要??
- 3 http://d.hatena.ne.jp/
- 3 http://twitter.com/
- 3 http://twitter.com/ryoff