gibi bir şeyF # değişken fonksiyon argümanları
let mutable i = 9
let somefun n = n <- 12;()
somefun i
(* *not* a real-world example *)
Ben rekor türü içine sararak bu işe yapılabilir anlıyoruz sağlayacak F # değişken fonksiyon argümanları için bir yol var mı
type SomeRec = { mutable i: int }
let ri = { i = 9 }
let someotherfun r = r.i <- 12;()
ve bunun, sınıf üyeleri için benzer bir şekilde yapılabileceğini. Ancak, tüm F # Dil Özelliği (evet, ben yaptım!) Üzerinden göz attıktan sonra bile, ilk durumda izin vermek için bir sözdizimi görünmüyor ve derleyicimin bunu denemem konusunda oldukça mutsuz olduğu görülüyor. Bir çeşit tip ek açıklama olacağını umuyordum, ancak böyle bir durumda değiştirilemez.
Ben de ilk etapta bu tür bir şey yapıyor olması gerektiğini biliyorum ama ilk vaka (int
bağlanma) ve ikinci (record
tipi) anlamsal olarak aynıdır ve bu tür itiraz Her iki durumda için yapacağını aynı şekilde.
Burada bir şeyleri kaçırdığımı düşünüyorum.
Paramize geçiş yapmanız gerekiyorsa, hala zorunlu olarak düşünmektesiniz. Tam olarak ne yapmaya çalıştığınızı anlatabilir misiniz, belki birileri daha idiomatik bir çözüm önerebilir. – Juliet