我使用列表理解將數據庫行從元組列表轉換爲地圖列表。有一天,我在數據庫表中添加了一些新的列,並忘記隨時隨地更改代碼。 因此,我發現了一個奇怪的結果:數據庫行變成了一個空列表。在ERL控制檯代碼來自Erlang列表理解的意外空列表
例子:
> DbRows = [{1, 1, 1}, {2, 2, 2}].
[{1,1,1},{2,2,2}]
> [#{<<"col1">> => Col1, <<"col2">> => Col2} ||{Col1, Col2} <- DbRows].
[]
爲什麼二郎不會產生異常錯誤:在這種情況下,不匹配的右手邊值的?
這段代碼是否正常,或者其他語法優先用於執行這種數據轉換?
這也不會拋出該異常OP的期望。獲得答案的一部分可能比沒有好,但它也會使得更難發現錯誤。 –
如果你真的需要這個異常,那麼你只需要用'Prepare = fun(X = {_,_})'替換'Prepare = fun(X)'',但我相信那不是重點。 – nikit