テキスト内の単語ペアの頻度をカウントするツールを作成しました。これにより、単語 B が単語 A に続くたびに、単語 [A][B] のカウントがインクリメントされます。
perl では、ハッシュとハッシュのハッシュは、最初にアクセスしようとしたときに自動的にインスタンス化されるため、コードが単純になります。Javascript では、最初に内部を作成する必要があるようで、コードが長くなります。
Coffeescript では、これは次のように機能します。
class Adder
...
addPair: (word1, word2) ->
@count[word1] = {} if not @count[word1]?
@count[word1][word2] = 0 if not @count[word1][word2]?
++@count[word1][word2]
しかし、これは 2 行の「防御」コードです。これをよりコンパクトに行う方法はありますか?
(これを 3 項ステートメントに入れても、実際にはコンパクトになるわけではなく、同じ量のロジックに対して文字数が少なくなるだけです。)