Scala Option tipi neden Haskell'de olduğu gibi belki de denilmiyor? [kapalı]


13

Scala Option tipi neden Haskell'de olduğu gibi belki de denilmiyor?

Belki benim için çok daha "anlambilimsel" bir anlam ifade ediyor, ama belki Seçenek'in farkında olmadığım farklı davranışları var.

Scala'daki Option'ın belki de çağrılmamasının özel bir nedeni var mı?

Yanıtlar:


23

Scala da kullanan ocaml, esinlenerek seçeneği .

Seçenekler, None(tanımsız) veya Some xx'in herhangi bir değer olabileceği bir Ocaml standart türüdür . Seçenekler, tanımlanmamış değerleri temsil etmek için Ocaml'de yaygın olarak kullanılır (C'de NULL gibi biraz, ancak bir tür ve bellek güvenli bir şekilde) ...

Bence seçilen isim bir zevk meselesi.


8
F # da. Wikipedia'daki sayfa en.wikipedia.org/wiki/Option_type'dir . Daha standart bir isim gibi görünüyorMaybe
KChaloux

2
Ocaml ismi SML'den alıyor. Landin'in Sonraki 700 Programlama Dili'ne hızlı bir bakışta bir seçenek türü fark etmedim, bu yüzden SML adın kaynağı olabilir.
Peter Taylor

1
Lehine yapılan bir argüman Option, bunun bir optionaldeğer olmasıdır (ya anlarsınız ya da almazsınız). Maybeprogramcının tarafında bir dereceye kadar belirsizlik olduğu anlamına gelir. Belki bir değeri vardır? Bilmiyorum .. Bir değer almalı mıyım? optional valueBence ifadeler daha kasıtlı geliyor.
Jochem Kuijpers

6

Burada daha iyi bir soru Haskell'in seçenek türünün neden çağrıldığıdır Maybe. ML'nin seçenek türü muhtemelen tüm seçenek türlerinin büyükbabasıdır ve buna denir option.

Her durumda, bu bir terminolojik sorudur, bu yüzden ilkeli bir cevabı olmayacaktır. Haskell'de ismi seçen insanlar daha çok hoşlandılar, hepsi bu.


2
Kabul edilmiş cevap ve onun altında yatan yorumlar tarafından zaten ele alınan yeni bir cevapta bilgileri tekrarlamanıza ne neden oldu?
Robert Harvey

4
@RobertHarvey ML emsal teşkil eden yeni bilgilerdir, asıl sorun cevabın bile tahminidir.
djechlin

TAMAM. Bir referansınız mı var, yoksa sadece bir görüşünüz mü var? Çünkü görüşler cevap olarak değil yorum olarak daha iyi temsil edilir. Özellikle ikinci paragrafınız.
Robert Harvey

2
Def. Seçenek: Seçim eylemi; seçim. Def. Belki; muhtemelen; Belirsizlik; Belirsiz bir cevap. Benim için söylemesi çok zor Belki de tamamen dilbilimsel açıdan daha iyi bir isimdir. "Seçenek", (çoklu) seçenek olduğunu belirtirken, "Belki" monadik adı daha çok şey ifade eder: bir şey ya da hiçbir şey. Ama evet, ML (ve dolayısıyla Seçenek) önce geldi, bu yüzden kötü adlandırma alışkanlığının nedeni olabilir (Ve Peter Taylor'ın yukarıdaki doğru cevaba yaptığı yorumu görün - ML'ye referans veriyor).
fnl

@fnl Diğer cevap hakkındaki yorumuma bakın; Sanırım bunun optionbir kısaltması yapmak için makul bir durum var optional. Bu durumda (çoklu) seçimler sadece ikiye indirilir: ya orada ya da değil.
Jochem Kuijpers
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.