我编写了一个工具来计算文本中单词对的频率,这样每当单词 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]
但这是两行额外的“防御”代码。有没有办法更紧凑地做到这一点,所以我可以维护更少的代码?
(把它放在一个三元语句中并没有真正使它更紧凑,只是对于相同数量的逻辑来说更少的字符。)