[Scala] ν•¨μˆ˜

[원본 링크]

λ°˜ν™˜ μ—†λŠ” ν•¨μˆ˜
일반적으둜 μžλ°”μ™€ λΉ„μŠ·ν•œ λ°©μ‹μœΌλ‘œ μ„ μ–Έν•˜λ©΄ λ°˜ν™˜ν•˜μ§€ μ•ŠλŠ”(사싀 Unit을 λ°˜ν™˜ν•˜λŠ”) ν•¨μˆ˜κ°€ λœλ‹€.
ꢌμž₯λ˜μ§„ μ•ŠλŠ”λ‹€.

def ν•¨μˆ˜λͺ…(인자...)
{ ... }

μΈμžλŠ” μ•„λž˜μ™€ 같이 ν‘œν˜„ν•œλ‹€.
인자λͺ…:μΈμžνƒ€μž…

μ•„λž˜ μ½”λ“œλŠ” μ •μˆ˜λ₯Ό ν•˜λ‚˜ λ°›μ•„ 좜λ ₯ν•˜λŠ” λ°˜ν™˜ μ—†λŠ” ν•¨μˆ˜ put을 μ •μ˜ν•œ 것이닀. image

image 그런데 μ΄λŸ¬ν•œ 방식은 ꢌμž₯λ˜μ§€ μ•ŠλŠ” 선언법이닀. λ°˜ν™˜μ„ ν• μˆ˜κ°€ μ—†κΈ° λ•Œλ¬Έμ΄λ‹€.


λ°˜ν™˜ μžˆλŠ” ν•¨μˆ˜
λ°˜ν™˜μ„ ν• μˆ˜ μžˆλŠ” ν•¨μˆ˜λŠ” μ•„λž˜μ˜ ν˜•μ‹μ„ κ°€μ§„λ‹€.
무쑰건 =λ₯Ό λΆ™μ—¬μ€˜μ•Ό ν•œλ‹€.

def ν•¨μˆ˜λͺ…(μΈμžλ“€...): λ°˜ν™˜νƒ€μž… =
{ ... }

μ•„λž˜λŠ” μ •μˆ˜ 2개λ₯Ό λ°›μ•„ λ”ν•΄μ£ΌλŠ” κ°„λ‹¨ν•œ ν•¨μˆ˜ addλ₯Ό κ΅¬ν˜„ν•œ 것이닀. image

image

return을 μƒλž΅ν•  μˆ˜λ„ μžˆλ‹€.
그러면 λ§ˆμ§€λ§‰ ν‘œν˜„μ‹μ΄ λ°˜ν™˜μ‹μ΄ λœλ‹€. image

image

λ°˜ν™˜νƒ€μž…λ„ μƒλž΅ κ°€λŠ₯ν•˜λ‹€. λ‹€λ§Œ return으둜 λ°˜ν™˜ν• λ•ŒλŠ” μƒλž΅μ΄ μ•ˆλ˜λŠ”λ“―ν•˜λ‹€. image

image

ν‘œν˜„μ‹μ΄ ν•˜λ‚˜μΌκ²½μš°μ—” μ€‘κ΄„ν˜Έλ„ μƒλž΅κ°€λŠ₯ν•˜λ‹€. image

image 맀우 μ‹¬ν”Œν•΄μ‘Œλ‹€.