我是一個非常新手的OCaml程序員,所以請原諒我,如果這是一個愚蠢的/明顯的問題。有很多吸收,我可能在文檔中錯過了這一點。可以記錄OCaml中的字段更新是否可以推廣?
我的代碼基礎,正在開始看起來像這樣:
let update_x p x =
add_delta p;
p.x <- x;
refresh p
let update_y p y =
add_delta p;
p.y <- y;
refresh p
let update_z p z =
add_delta p;
p.z <- z;
refresh p
的複製被開始的錯誤我,因爲我想寫的是這樣的:
let update_scalar p scalar value =
add_delta p;
magic_reflection (p, scalar) <- value;
refresh p
這我更新x的方式我可以簡單地打電話:
update_scalar p 'x' value
這叫出「宏!」對我來說,但我不相信OCaml有一個宏觀系統。我還可以做些什麼?
尼特:艇員選拔`val`作爲標識符名稱令人困惑,'val'被用作模塊類型的綁定。 – Yttrill 2011-01-22 14:41:29
夠公平的。改變了它。 – 2011-01-22 20:17:28