왜 스칼라 옵션 유형이 Haskell과 마찬가지로 Maybe라고 불리지 않습니까? [닫은]


13

왜 스칼라 옵션 유형이 Haskell과 마찬가지로 Maybe라고 불리지 않습니까?

어쩌면 나에게 훨씬 "의미적인 의미"가 있지만 옵션은 내가 알지 못하는 다른 행동을 가질 수 있습니다.

Scala의 Option이 Maybe라고 불리지 않은 특별한 이유가 있습니까?

답변:


23

스칼라는 Option 을 사용하는 Ocaml에서 영감을 얻었습니다 .

옵션은 None(정의되지 않음) 또는 Some xx가 임의의 값이 될 수있는 Ocaml 표준 유형입니다 . 옵션은 Ocaml에서 정의되지 않은 값을 나타내는 데 널리 사용됩니다 (C의 NULL과 비슷하지만 유형과 메모리 안전 방식).

선택한 이름은 맛의 문제라고 생각합니다.


8
F #도. Wikipedia의 페이지는 en.wikipedia.org/wiki/Option_type 입니다. 보다 표준적인 이름 인 것 같습니다Maybe
KChaloux

2
Ocaml은 SML에서 이름을 얻습니다. Landin의 The Next 700 Programming Languages를 통해 한 눈 에 옵션 유형을 알지 못했기 때문에 SML이 이름의 기원이 될 수 있습니다.
피터 테일러

1
찬성하는 주장은 Option그것이 optional가치라는 것입니다 (당신이 얻거나 얻지 못함). Maybe프로그래머가 어느 정도의 불확실성을 암시합니다. 아마도 가치가 있습니까? 잘 모르겠습니다. 가치를 얻어야합니까? optional value내 의견으로는 말이 더 의도적으로 들린다.
Jochem Kuijpers

6

여기서 더 좋은 질문은 Haskell의 옵션 유형이 왜 호출되는지 Maybe입니다. ML의 옵션 유형은 아마도 모든 옵션 유형의 손자 일 것입니다 option.

어쨌든 이것은 용어적인 질문이므로 원칙적인 대답은 없습니다. 하스켈에서 이름을 고른 사람들은 더 좋아했습니다.


2
이미 받아 들여진 답변과 그 기본 설명으로 잘 알려진 새로운 답변에서 정보를 반복하게 된 것은 무엇입니까?
Robert Harvey

4
선례를 설정 한 @RobertHarvey ML은 새로운 정보이며, 실제 문제는 대답조차도 추측하고 있다는 것입니다.
djechlin

확인. 당신은 참조, 또는 단순한 의견 이상의 것을 가지고 있습니까? 의견은 답변이 아닌 의견으로 더 잘 표현되기 때문입니다. 특히 두 번째 단락.
Robert Harvey

2
방어력 옵션 : 선택 행위; 선택. 방어력 혹시; 혹시; 불확실성; 불확실한 답변. 나에게 그것은 말하기 쉽다. 순수한 언어 적 관점에서 볼 때 아마도 더 나은 이름 일 것이다. "옵션"은 (복수의) 선택이 있음을 의미하는 반면, 모나 딕 이름 "아마도"는 한 가지 또는 아무 것도 아닙니다. 그러나 그렇습니다 .ML (및 옵션)이 먼저 나왔으므로 나쁜 명명 습관의 이유 일 수 있습니다 (그리고 위의 정답에 대한 피터 테일러의 의견을 참조하십시오-ML을 참조합니다).
fnl

@fnl 다른 답변에 대한 내 의견보기; 나는 그것을 option약자 로 만드는 합리적인 사례가 있다고 생각 합니다 optional. 이 경우 (복수) 선택은 2 개로 줄어 듭니다.
Jochem Kuijpers
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.