[Haskell] λΆ„κΈ°

[원본 링크]

ν•˜μŠ€μΌˆμ—μ„œλ„ λ‹Ήμ—°νžˆ μ£Όμ–΄μ§„ 값에 λ”°λΌμ„œ λΆ„κΈ°λ₯Ό μˆ˜ν–‰ν•  일이 있고, κ·ΈλŸ¬ν•œ κΈ°λŠ₯을 μ§€μ›ν•œλ‹€.


κ°€λ“œ
첫번째둜 μ†Œκ°œν•  방식은 |둜 λ°˜ν™˜μ‹μ„ μ—¬λŸ¬κ°œ λ‚˜λˆ„λŠ” 것이닀. κ°€λ“œ 방식이라고 ν•œλ‹€.
λŒ€μΆ© μ•„λž˜μ˜ ꡬ쑰λ₯Ό κ°€μ§„λ‹€.

ν•¨μˆ˜λͺ… 인자...
Β Β Β  | 쑰건문1 = λ°˜ν™˜μ‹1
Β Β Β  | 쑰건문2 = λ°˜ν™˜μ‹2
Β Β Β  ... image

image λ§Œμ•½ ν•΄λ‹Ήλ˜λŠ” 쑰건식이 ν•˜λ‚˜λ„ μ—†λ‹€λ©΄ μ—λŸ¬λ₯Ό λ˜μ§„λ‹€. μ‹ κ²½μ¨μ€˜μ•Όν•œλ‹€.


νŒ¨ν„΄λ§€μΉ­ 기본ꡬ문
νŒ¨ν„΄λ§€μΉ­μ€ 별닀λ₯Έ ν‚€μ›Œλ“œ 없이 같은 μ΄λ¦„μ˜ ν•¨μˆ˜λ₯Ό μ€‘λ³΅μ •μ˜ν•˜λŠ” κ²ƒμœΌλ‘œ κ΅¬ν˜„ν•  수 μžˆλ‹€.
인자의 μœ„μΉ˜μ— 값을 넣어두면, μ™ΈλΆ€μ—μ„œ ν˜ΈμΆœν–ˆμ„ 경우 κ·Έ 값에 λŒ€μ‘λ˜λŠ” ν‘œν˜„μ‹μ„ μˆ˜ν–‰ν•œλ‹€. image

image μ•„λ¬΄κ±°λ‚˜ 듀어가도 되면 κ·Έ μœ„μΉ˜μ— μ™€μΌλ“œμΉ΄λ“œ _λ₯Ό λ„£λŠ”λ‹€.


νŒ¨ν„΄λ§€μΉ­ case-of ꡬ문
인자λ₯Ό λ„£κ³  그에 λŒ€μ‘ν•˜λŠ” ν‘œν˜„μ‹μ„ λ°˜ν™˜ν•˜λŠ” ꡬ문이닀.

case(인자...) of
(λŒ€μ‘κ°’...1) -> ν‘œν˜„μ‹1
(λŒ€μ‘κ°’...2) -> ν‘œν˜„μ‹2

의 ν˜•μ‹μ„ κ°€μ§„λ‹€. μΈμžλŠ” λ”°μ˜΄ν‘œλ‘œ κ΅¬λΆ„ν•΄μ„œ μ—¬λŸ¬κ°œκ°€ 올수 있으며, λŒ€μ‘κ°’μ˜ μˆ˜λŠ” 인자의 μˆ˜μ™€ μΌμΉ˜ν•΄μ•Ό ν•œλ‹€.
μ•„λ¬΄κ±°λ‚˜ 와도 μƒκ΄€μ—†λŠ” 인자일 경우 κ°’ λŒ€μ‹ μ— μ™€μΌλ“œμΉ΄λ“œ _λ₯Ό λ„£μœΌλ©΄ λœλ‹€. μ „λΆ€ _둜 두면 λ””ν΄νŠΈ λ ˆμ΄λΈ”μ΄ λœλ‹€. image

image



if-then-else문
λ‹΅μ§€μ•Šκ²Œ if-else문도 지원을 ν•œλ‹€.
μžˆκΈ΄ν•œλ° 이것보단 κ°€λ“œλ‚˜ νŒ¨ν„΄λ§€μΉ­ 등을 μ‚¬μš©ν•˜λŠ” 것이 더 ꢌμž₯λ˜λŠ”λ“―ν•˜λ‹€.
맨 μœ„μ˜ μ½”λ“œλŠ” μ•„λž˜μ™€ 같이 λ°”κΏ”λ³Ό 수 μžˆλ‹€. image