我已經寫了一個工具來計算文本中單詞對的頻率,這樣每次單詞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]?
[email protected][word1][word2]
,但它的 '防禦' 兩個代碼多餘的線條。有沒有辦法更緊湊地做到這一點,所以我可以維護更少的代碼?
(在三元聲明中把它並沒有真正使其更緊湊,對於相同數量的邏輯只是個字符)。
您不能真正刪除邏輯,因爲您只需要它。只有你可以將它移動到輔助函數中。另外,你是否考慮使用短路OR,而不是三元操作符? – Bergi 2013-04-20 15:01:45