有沒有辦法建立一個有很多領域的defrecord?看起來有大約122個字段的限制,因爲這給出了「方法代碼太大!」錯誤:大的defrecord導致「方法代碼太大」
(defrecord WideCsvFile
[a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19
a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39
a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 a58 a59
a60 a61 a62 a63 a64 a65 a66 a67 a68 a69 a70 a71 a72 a73 a74 a75 a76 a77 a78 a79
a80 a81 a82 a83 a84 a85 a86 a87 a88 a89 a90 a91 a92 a93 a94 a95 a96 a97 a98 a99
a100 a101 a102 a103 a104 a105 a106 a107 a108 a109 a110 a111 a112 a113 a114 a115 a116 a117 a118 a119
a120 a121 a122])
雖然刪除任何字段允許創建記錄。
爲什麼你需要這樣做? –
我正在處理一堆不同的csv文件。我不希望我的代碼通過將行放入向量中而散佈索引號。由於其中一些文件有數百萬行,因此我不想通過將它們放入常規地圖來招致額外的垃圾收集成本,所以defrecord似乎是最佳解決方案。這是所有的文件,直到我最後一個,這恰好是126個字段寬。由於我的文件閱讀代碼是相當共享的,想要查看是否有方法在搜索不同的方法之前創建更大的記錄... –
您可以使用'deftype'來代替嗎? –