2
for-eachに「in」の代わりにコロンがあるのはなぜですか?
Java 5言語ガイドから: コロン(:)が表示されたら、「中」と読みます。 inでは、そもそも使ってみませんか? これは何年もの間私を悩ませてきました。他の言語と矛盾しているからです。たとえば、Java では、C ++、Scala、Rubyのようなシンボルの代わりに、型間の関係implementsにextends、がありますsuper。 5つのコンテキストで使用されるJavaコロン。3つはCから継承され、他の2つはJoshua Blochによって承認されました。少なくとも、それは彼が「閉鎖論争」の話の間に言ったものでした。これは、for-eachのセマンティクスと矛盾するマッピングとしてのコロンの使用を批判したときに発生します。これは、for-eachが乱用された予想パターンであるため、私には奇妙に思えます。同様list_name/category: elementsかlaberl/term: meaning。 私はjcpとjsrを調べましたが、メーリングリストの兆候は見つかりませんでした。この問題に関する議論はグーグルによって見つかりませんでした。のコロンの意味に戸惑う初心者のみfor。 inこれまでに提供されたものに対する主な議論: 新しいキーワードが必要です。そして 字句解析を複雑にします。 関連する文法定義を見てみましょう: ステートメント : 'for' '(' forControl ')'ステートメント | ... ; forControl :EnhancedForControl | forInit?「;」表現?「;」forUpdate? ; EnhancedForControl :variableModifier *タイプvariableDeclaratorId ':'式 ; から変更する:とin、複雑さが増したり、新しいキーワードが必要になったりしません。
9
java