我看到這個代碼在二郎:二郎,列表中理解語法
[X-$0 || X<-someFun()]
在該行我發現-$0
語法非常有用的。
我閱讀了代碼,並估計它的含義,但我不太確定:它是否分割所有數字?
我想看看該語法的解釋或手冊頁,但我找不到它。任何人都可以給我看正確的頁面嗎?
我看到這個代碼在二郎:二郎,列表中理解語法
[X-$0 || X<-someFun()]
在該行我發現-$0
語法非常有用的。
我閱讀了代碼,並估計它的含義,但我不太確定:它是否分割所有數字?
我想看看該語法的解釋或手冊頁,但我找不到它。任何人都可以給我看正確的頁面嗎?
什麼代碼正在做的是採取從someFun()
輸出(這需要返回一個列表),並在列表中的每個元素被分配元素的值的變量X
,然後減去字符的ASCII值0
從該值。結果列表就是整個表達式的值。
它在做什麼,在實踐中(我自己寫了幾十次這樣的代碼),假設someFun/0
是一個函數,它返回一個只包含數字的字符串,然後將該字符串轉換爲數字。因此,如果someFun()
返回「12345
」,則此列表理解的結果爲[1, 2, 3, 4, 5]
。
如果您熟悉map
函數的概念(如MapReduce),那麼到目前爲止聽起來應該聽起來很熟悉。
此維基頁面看起來像一個很好的介紹,二郎列表理解:
http://en.wikibooks.org/wiki/Erlang_Programming/List_Comprehensions
喬·阿姆斯特朗的書「編程二郎」,從語用書架,(http://pragprog.com/titles/jaerlang/programming-erlang)還包括列表解析非常好(沿與其他一切Erlang相關)。優秀的書,強烈推薦等
的列表內涵正常文檔頁面中Erlang Reference Manual第6.22和Programming Examples第3節
這兩者都是對main documentation page(點擊Erlang編程文件夾上左邊的菜單欄)。
Erlang的文檔工廠 - 這只是它的佈局是shonky一點點......
死鏈接,雅可能要更新此。 – EvilTeach 2011-09-28 01:36:27