tek başına (başka bir şey olmadan) tek oluşturmak mümkün mü (Eğer)) tek oluşturmak mümkün mü? OCaml
OCaml
cevap
Ocaml el kitabının §6.7.2 bölümünün control structures : conditional bölümünü okuyunsa kullanılabilir.
then
parçası (dolayısıyla tüm if
ekspresyonu) unit
tipte olduğunda else
kaçınmak mümkündür. Örneğin
let x = 3 in
(if x > 0 then Printf.printf "x is %d\n" x);
x + 5
;;
x is 3
yazdırmak olmalı ve değer olarak dönüş 8.
genel kural if κ then τ
if κ then τ else()
denk olmasıdır dolayısıyla "o zaman parçası" τ
unit
tipi ve "Başka bir olmak zorunda bölüm "()
için varsayılan olarak if
unit
türündedir.
let x = 3 in (if x > 0 then "abc"); x + 7 (*faulty example*)
bile "abc"
beri derlemek olmaz unit
türde değil Sen bazenPervasives den (ignore
işlevini kullanabilir
(gibi ()
olan))’da olmasını zorlamak için türü (ancak bu, yalnızca anlamlıside-effects; 'u ignore "abc"
ile değiştirirseniz, hatalı örneğim derler, ancak yararsız kalır.
Ancak Ocaml sahip olduğunu unutmayın sadece (ancak hiçbir ifadeleri hiç) ifadelerde. Yan etkili ifadeler genellikle unit
türündedir (ancak bunu yapabilirsiniz, ancak bu genellikle kaşınıyor, unit
sonucu olmayan bazı ve yararlı bir yan etkiye sahiptir).
'if-statement' etiketi Ocaml için uygun değil. Ocaml hiçbir ifadeye sahip değildir, sadece * ifadeler *! –