[F#] μ˜΅μ…˜(Option)

[원본 링크]

option은 F#의 μ˜ˆμ™Έμ²˜λ¦¬ μˆ˜λ‹¨ 쀑 ν•˜λ‚˜λ‹€.
ν•΄λ‹Ή κ°’μ˜ μ‘΄μž¬ν•˜λŠ” μƒνƒœ(Some)와 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” μƒνƒœ(None)λ₯Ό ν•˜λ‚˜μ˜ νƒ€μž…μœΌλ‘œ 묢어놓고 κ·Έκ±Έ κ°’μœΌλ‘œ λ‹€λ£° 수 있게 해놓은 것이닀.

λ§Œμ•½ μ‹€νŒ¨ν•  수 μžˆλŠ” λ™μž‘μ„ μˆ˜ν–‰ν•˜λŠ” ν•¨μˆ˜κ°€ μžˆλ‹€λ©΄, μ„±κ³΅μ‹œμ—” 정상적인 κ°’(Some)을, μ‹€νŒ¨ν–ˆμ„ λ•ŒλŠ” μ‹€νŒ¨κ°’(None)을 λ°˜ν™˜ν•˜λ©΄ λ˜λŠ” 것이닀.
그리고 κ·Έ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” ν˜ΈμΆœμžλŠ” μ „μš© ν•¨μˆ˜λ“€μ„ 톡해 μ‹€νŒ¨ μ—¬λΆ€λ₯Ό μ²΄ν¬ν•˜κ³  μ“°λ©΄ λ˜λŠ” 것이닀.

이런걸 λͺ¨λ‚˜λ“œλΌκ³  ν•œλ‹€.

μ½”λ“œλΆ€ν„° 보자.
μ •μˆ˜κ°’μ„ λ°›κ³  κ·Έ 절반의 값을 λ°˜ν™˜ν•˜λŠ” μ½”λ“œλ₯Ό μ§œλ΄€λ‹€. 단, ν™€μˆ˜κ°€ λ“€μ–΄μ˜¬ κ²½μš°λŠ” μ‹€νŒ¨ν•œλ‹€. image

image

이렇듯 μ˜΅μ…˜μ˜ 값은 .Value ν”„λ‘œνΌν‹°λ‘œ κ°€μ Έμ˜¬ 수 μžˆλ‹€. 근데 μ €λ ‡κ²Œ μ“°λ©΄ λ³„λ‘œ μ’‹μ§€ μ•Šμ€κ²Œ...
None이면 μ˜ˆμ™Έκ°€ 터진단 것이닀. image

image

λ•Œλ¬Έμ— μ§„μ§œ ν™•μ‹ ν•  수 μžˆλŠ” 상황이 μ•„λ‹ˆλ©΄, 체크λ₯Ό ν•˜λŠ”κ²Œ μ’‹λ‹€. image

image


μ°Έμ‘°
https://www.tutorialspoint.com/fsharp/fsharp_options.htm