Farklı tipler Ocaml'de aynı hashtable (Hashtbl
) saklamak mümkün mü? Hasarlar gerçekten sadece bir türle sınırlı mı?Ocaml hashkolleri
6
A
cevap
22
Evet, karma tablo girişleri her tablo için bir türle sınırlıdır. Bu gerçekten OCaml tipi sistem hakkında bir soru ve karma tablolar hakkında değil. Bir şeylerin karma tablosunda aynı türde olmasını istemek garip görünüyorsa, bir listede ne var?
Çözmekte olduğunuz sorunu bilmeden, önerilerinizi bilmek zor. Çeşidi
type alg = A of int | B of float
bir değere (dize, alg) Hashtbl.t int'leri saklamak olacaktır: Ancak, yapılacak ortak şey uğraşıyoruz türlerinin her biri için bir varyantını olan bir cebirsel türünü oluşturmaktır ve arama anahtarı olarak bir dize kullanarak yüzer.
# let ht = Hashtbl.create 44;;
val ht : ('_a, '_b) Hashtbl.t = <abstr>
# Hashtbl.add ht "yes" (A 3);;
- : unit =()
# Hashtbl.add ht "no" (B 1.7);;
- : unit =()
# ht;;
- : (string, alg) Hashtbl.t = <abstr>
# Hashtbl.find ht "yes";;
- : alg = A 3
OCaml'ın esnek ve güçlü yazımına alıştıktan sonra, onsuz sistemlere geri dönmek zordur.
İlgili konular
- 1. OCaml
- 2. OCaml
- 3. Ocaml
- 4. OCaml
- 5. OCaml
- 6. OCaml
- 7. Ocaml
- 8. OCaml
- 9. OCaml
- 10. kullanma modülü OCaml 3.11 yılında OCaml
- 11. OCaml toplevel
- 12. Ocaml Opsiyonu
- 13. OCaml bildirimi
- 14. `operatöründe OCaml
- 15. Ocaml OPAM önceden kurulu Ocaml paketlerini tespit ediyor mu?
- 16. Ocaml - Dosyalar ve ocaml dosyanın içeriğini okumak için nasıl
- 17. OCaml toplevel çıktı ben ocaml en toplevel aşağıdaki
- 18. Ben OCaml içinde bu basit kodu var OCaml
- 19. OCaml içindeki nesnelerdeki nesneler
- 20. OCaml modülleri ve performans
- 21. OCaml Dosyaya nasıl yazılır?
- 22. toString() eşdeğeri OCaml
- 23. Uygulama sırasını değiştirin OCaml
- 24. erişen OCaml kayıtları
- 25. OCaml global değişkeni değişkeni
- 26. Karma tabloyu OCaml
- 27. Subamring check in Ocaml
- 28. OCaml ile HTML Ayrıştırma
- 29. Artı operatörün OCaml türü
- 30. OCaml: Modül kurun