多くのプログラミング言語ではカッコが重要な意味を持ちますが、ASCII で書けるカッコは
- 丸カッコ '(' ')'
- カギカッコ '[' ']'
- 中カッコ '{' '}'
- 大なり小なり '<' '>'
しかありません。
特にこの中で、シフトキーを押さずに打てるカッコはカギカッコだけです。純粋な打鍵数で見ると、カギカッコ以外は実は 2 ストロークなわけです。つまりカギカッコは「打ちやすいカッコ」という意味でとても貴重です。
それにもかかわらず C 言語では、貴重な貴重なカギカッコを配列のインデックスというしょうもないところにしか使ってません。もったいない。
一方 Ruby はカギカッコがメソッド呼び出しで使え、Proc#[ ] や Struct#[ ] などがあってすばらしい。
というネタをたまに考える。Ruby 書いてるとなぜか「class 定義したら負け」という気分になるけど、最近は「メソッド定義したら負け」と感じるまで症状が悪化してきた。