[Elm] ν•¨μˆ˜

[원본 링크]

ν•¨μˆ˜μ˜ μ •μ˜λŠ” λ³€μˆ˜ 할당식과 크게 λ‹€λ₯΄μ§€ μ•Šλ‹€.
μΈμžκ°€ μΆ”κ°€λ˜λŠ” 것 λ§κ³ λŠ”.
ν•¨μˆ˜λͺ… 인자1 인자2 ... = **
** λ°˜ν™˜μ‹


그리고 λ°˜ν™˜μ‹μ€ λ“€μ—¬μ“°κΈ°κ°€ λ˜μ–΄μ•Όλ§Œ ν•œλ‹€. μ•ˆκ·ΈλŸΌ λ°˜ν™˜μ‹μœΌλ‘œ 인식을 λͺ»ν•œλ‹€.

λ‹¨μˆœνžˆ 숫자 λ‘κ°œλ₯Ό λ”ν•˜λŠ” ν•¨μˆ˜λŠ” μ΄λ ‡κ²Œ μ •μ˜ν•  수 μžˆλ‹€.

그리고 ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λ €λ©΄, ν•¨μˆ˜λͺ… 뒀에 띄어쓰기λ₯Ό λ„£κ³  μΈμžλ“€μ„ λ‚˜μ—΄ν•˜λ©΄ λœλ‹€.



ν•¨μˆ˜μ˜ νƒ€μž…

μœ„μ˜ ν•¨μˆ˜ μ •μ˜ λ°˜ν™˜ νƒ€μž…μ—μ„œ 보이듯, ν•¨μˆ˜μ˜ νƒ€μž…μ€ μΈμžνƒ€μž…->λ°˜ν™˜νƒ€μž…μ˜ ν˜•νƒœλ‘œ ν‘œν˜„λœλ‹€.
μΈμžκ°€ 2개면 인자1->인자2->λ°˜ν™˜νƒ€μž…,
μΈμžκ°€ 3개면 인자1->인자2->인자3->λ°˜ν™˜νƒ€μž…μ΄λ‹€.

그리고 ν•¨μˆ˜λ„ λ³€μˆ˜μ™€ λ§ˆμ°¬κ°€μ§€λ‘œ, νƒ€μž…μ„ λͺ…μ‹œν•  수 μžˆλ‹€.



컀링

근데 ν•¨μˆ˜ νƒ€μž…μ˜ ν‘œν˜„μ΄ 쑰금 κΈ°λ¬˜ν•˜μ§€ μ•Šμ€κ°€?

μ €κ²Œ 사싀 λ‹€ 컀링을 μœ„ν•œ 밑받침이닀.
컀링은 ν•¨μˆ˜μ˜ 인자λ₯Ό 덜 μ „λ‹¬ν•΄μ„œ λΆˆμ™„μ „ν•˜κ²Œ ν˜ΈμΆœν–ˆμ„ λ•Œ, 덜 μ „λ‹¬λœ μΈμžλ§Œμ„ λ°›λŠ” μƒˆλ‘œμš΄ ν•¨μˆ˜λ₯Ό μƒμ„±ν•΄μ£ΌλŠ” κΈ°λŠ₯이닀.
κ°€λ Ή, add ν•¨μˆ˜μ—μ„œ 인자λ₯Ό 10 ν•˜λ‚˜λ§Œ μ „λ‹¬ν•œλ‹€λ©΄, 10을 κ³ μ •μ μœΌλ‘œ λ°›κ³ , λ‘λ²ˆμ§Έ μΈμžλ§Œμ„ λ°›λŠ” ν•¨μˆ˜λ₯Ό λ°˜ν™˜ν•˜λŠ” 것이닀. μ•„λž˜ μ½”λ“œμ—μ„œλŠ” fooλΌλŠ” μ΄λ¦„μœΌλ‘œ λ°”μΈλ”©ν–ˆλŠ”λ°, 그럼 fooμ—λŠ” ν•˜λ‚˜μ˜ 인자 rhsλ§Œμ„ μ „λ‹¬ν•˜λ©΄ λ˜λŠ” 것이닀.



νŒŒμ΄ν”„λΌμΈ 호좜

μ΄λ ‡κ²Œ 두가지 ν•¨μˆ˜κ°€ μžˆλ‹€κ³  치자.

μ € ν•¨μˆ˜ λ‘˜μ„ ν•œλ²ˆμ— μ‚¬μš©ν•œλ‹€λ©΄ μ–΄λ–¨κΉŒ?
κ·ΈλŸ¬λ‹ˆκΉŒ, add ν•¨μˆ˜λ₯Ό λ¨Όμ € ν˜ΈμΆœν•˜κ³ , κ·Έ λ°˜ν™˜κ°’μœΌλ‘œ λ‹€μ‹œ double을 ν˜ΈμΆœν•œλ‹€λ©΄?

이런 μ‹μ˜ 연산은 였λ₯˜λ₯Ό λ±‰λŠ”λ‹€. addκ°€ λ¨Όμ € μˆ˜ν–‰λ˜λŠ” 게 μ•„λ‹ˆλΌ, double이 λ¨Όμ € μ½ν˜€μ„œ addλ₯Ό double의 인자둜 μΈμ‹ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€.

이걸 ν•΄κ²°ν•˜λ €λ©΄ κ΄„ν˜Έλ₯Ό μ”Œμ›Œμ„œ μš°μ„ μˆœμœ„λ₯Ό λͺ…μ‹œν•΄μ•Ό ν•œλ‹€. addκ°€ λ¨Όμ € μ‹€ν–‰λ˜λ„λ‘.

근데 Elmμ—μ„œλŠ” 이것보닀 λ©‹μ§„ 방법이 μ œκ³΅λ˜λŠ”λ°, 그게 λ°”λ‘œ νŒŒμ΄ν”„λΌμΈ μ—°μ‚°μž '|>'λ‹€.
이건 μ–‘μͺ½μœΌλ‘œ ν”Όμ—°μ‚°μžλ₯Ό λ°›λŠ”λ°, μ™Όμͺ½μ΄ 인자, 였λ₯Έμͺ½μ΄ ν•¨μˆ˜λ‹€.
였λ₯Έμͺ½ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λ©΄μ„œ μ™Όμͺ½μ˜ 인자λ₯Ό 전달해쀀닀.

이걸 μ‘μš©ν•˜λ©΄ 쒀더... λ§€λ„λŸ¬μš΄ ν˜•μ‹μ˜ 쀑첩 ν˜ΈμΆœμ„ ν‘œν˜„ν•  수 μžˆλ‹€.
이런 μ‹μœΌλ‘œ 말이닀.


μ°Έμ‘°
https://www.tutorialspoint.com/elm/elm_functions.htm