0
時後,我看了看this question,我相信我百思不得其解,除了以下:二郎嘗試 - 追趕 - 讀取文件
try get_all_lines(Device)
after file:close(Device)
end.
尋找在documentation,特別是7.19試試部分,看起來好像通常使用after
子句作爲故障安全塊來執行,而不管是否執行條件塊。如果這是一個正確的假設,爲什麼給出的示例使用after
時,不僅沒有條件塊,根本就沒有塊!它看起來像try get_all_lines(Device)
塊是完全空的,並且附加了不必要的after
子句。我誤解了這個例子,還是這個代碼可以寫的更好?
理解這段代碼的重要之處在於「after」的返回值丟失了,整個表達式的結果與'try get_all_lines(Device)'的結果相同,這有點奇怪,在erlang中的用法,但在文檔[reference_manual/expressions](http://www.erlang.org/doc/reference_manual/expressions.html#id79430)中有明確說明。 – Pascal