アカウント名:
パスワード:
>一方、「if」はRubyを除く9言語で5位以内に入っている。Rubyの上位はなんなんだ、とソースを見てみたら、
1 739641 end2 263685 do3 260162 def4 228260 assert5 206872 should6 174484 17 147050 new8 141169 equal9 136831 a10 133595 to11 132846 012 130953 name13 126375 if
という結果。たしかにRubyらしいという気がする。class-end, def-end, begin-end, といろんなブロック構文の終了にendを使うので、終わらせる方が始めさせる方より多いというちょっと不思議な結果に。それ以外の結果からは、なんかRubyistはテストばっかり書いてるんじゃないかという気がしてきます。(たぶんRSpecみたいな、テスト記述用の「単語」が使える仕組みがあるからでしょうかね?)
0より1の方が多いのって、なんか理由あんの?
++が無くて+=1と書くとか、配列の最後の要素がa[-1]だったりとか、範囲オブジェクトを作る場合1..nと書く場合が多いとか、$1を多用するとかが考えられます。
特にPythonとの違いは$1が効いているようです。例えばRuby 1.9.1の標準ライブラリにおいて、"$1"は613ファイル中428回出現します。一方、Python 2.7.3においては、/[[::]]/は1444ファイル中147回しか出現しません。
Pythonでは正規表現のグループに名前を付けて参照する形式が使われるらしく、/[[::]]group(/は349回出現します(ちなみに/[[::]]group()/は22回出現します)。どちらにしろ、正規表現を使う頻度自体もRubyの方が多いようです。
# というか標準ライブラリだとPythonも0より1の方が多い。コメントを除外していないとか語の定義が違うとかで数え方が違うというのもあるけど。
他の言語とは違って、0がfalse扱いにならないからかも。間違いの元になるから。何でもいいから適当に初期化する場合、Rubyでは通常nilを使う。あと、ゼロテストに関しては専用メソッドzero?, nonzero?を使えるのもあるかな。
“1”を複数聞いても、知ることができるのは“0”ひとつだけだからとか?
初代(元祖?)Pascalは配列が1から始まるんだよ。のちに拡張されるがな。
例:文字列配列。
Rubyもそうだっけ?
endを使う言語としたらVBかな。今の.net系は知らないけど6までだとEnd IfEnd Subなんかあった。ifや関数/メソッドの終了部分を「}」で閉めないで単語で閉めている言語にはendはそこそこ使う気がする。
構文はVB6以前と同じように似せてあるので、.NETになってからも終わりはEndです。
ああPL/SQLのPLってそういう
Rexxがすねてます。
元OS/2使いのAC
PL/Iに見えた…COBOLもENDが多そう。
pascal(Delphiとか)のことも思いだしてあげてください
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ
Rubyの上位 (スコア:4, 参考になる)
>一方、「if」はRubyを除く9言語で5位以内に入っている。
Rubyの上位はなんなんだ、とソースを見てみたら、
という結果。たしかにRubyらしいという気がする。
class-end, def-end, begin-end, といろんなブロック構文の終了にendを使うので、終わらせる方が始めさせる方より多いというちょっと不思議な結果に。
それ以外の結果からは、なんかRubyistはテストばっかり書いてるんじゃないかという気がしてきます。
(たぶんRSpecみたいな、テスト記述用の「単語」が使える仕組みがあるからでしょうかね?)
Re:Rubyの上位 (スコア:1)
0より1の方が多いのって、なんか理由あんの?
1を聞いて0を知れ!
Re:Rubyの上位 (スコア:4, 参考になる)
++が無くて+=1と書くとか、配列の最後の要素がa[-1]だったりとか、範囲オブジェクトを作る場合1..nと書く場合が多いとか、$1を多用するとかが考えられます。
特にPythonとの違いは$1が効いているようです。
例えばRuby 1.9.1の標準ライブラリにおいて、"$1"は613ファイル中428回出現します。
一方、Python 2.7.3においては、/[[::]]/は1444ファイル中147回しか出現しません。
Pythonでは正規表現のグループに名前を付けて参照する形式が使われるらしく、/[[::]]group(/は349回出現します(ちなみに/[[::]]group()/は22回出現します)。
どちらにしろ、正規表現を使う頻度自体もRubyの方が多いようです。
# というか標準ライブラリだとPythonも0より1の方が多い。コメントを除外していないとか語の定義が違うとかで数え方が違うというのもあるけど。
Re:Rubyの上位 (スコア:1)
他の言語とは違って、0がfalse扱いにならないからかも。間違いの元になるから。
何でもいいから適当に初期化する場合、Rubyでは通常nilを使う。
あと、ゼロテストに関しては専用メソッドzero?, nonzero?を使えるのもあるかな。
Re: (スコア:0)
“1”を複数聞いても、知ることができるのは“0”ひとつだけだからとか?
Re: (スコア:0)
初代(元祖?)Pascalは配列が1から始まるんだよ。
のちに拡張されるがな。
例:文字列配列。
Re:Rubyの上位 (スコア:1)
Rubyもそうだっけ?
1を聞いて0を知れ!
Re: (スコア:0)
endを使う言語としたらVBかな。
今の.net系は知らないけど6までだと
End If
End Sub
なんかあった。
ifや関数/メソッドの終了部分を「}」で閉めないで単語で閉めている言語にはendはそこそこ使う気がする。
Re:Rubyの上位 (スコア:2)
構文はVB6以前と同じように似せてあるので、.NETになってからも終わりはEndです。
Re:Rubyの上位 (スコア:1)
Re: (スコア:0)
ああPL/SQLのPLってそういう
Re: (スコア:0)
Rexxがすねてます。
元OS/2使いのAC
Re: (スコア:0)
PL/Iに見えた…
COBOLもENDが多そう。
Re: (スコア:0)
pascal(Delphiとか)のことも思いだしてあげてください