[F#] ํŒจํ„ด๋งค์นญ

[์›๋ณธ ๋งํฌ]

F#๋„ ํ•จ์ˆ˜ํ˜•๋‹ต๊ฒŒ ํŒจํ„ด๋งค์นญ๊ตฌ๋ฌธ์„ ์ง€์›ํ•œ๋‹ค.
ํ‚ค์›Œ๋“œ๋Š” match์™€ with์ด๋‹ค.

๋Œ€์ถฉ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค.
match ์ธ์ž with
| ํŒจํ„ด1 -> ํ‘œํ˜„์‹1
| ํŒจํ„ด2 -> ํ‘œํ˜„์‹2
...
| _ -> ํ‘œํ˜„์‹N

ํŒจํ„ด์—๋Š” ๊ฑฐ์˜ ๋Œ€๋ถ€๋ถ„์˜ ๊ฐ’๋“ค์ด ๋‹ค ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๊ณ , ์ธ์ž๊ฐ€ ํ•ด๋‹น ๊ฐ’๊ณผ ๋งค์นญ๋  ๊ฒฝ์šฐ ํ•ด๋‹นํ•˜๋Š” ํ‘œํ˜„์‹์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
๋‹น์—ฐํžˆ ๋งˆ์ง€๋ง‰ ํ‘œํ˜„์‹์€ ๋ฐ˜ํ™˜๊ฐ’์ด ๋œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹นํ•˜๋Š” ํŒจํ„ด์ด ์—†๋‹ค๋ฉด _ ->์ ˆ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ €๊ฒŒ ๋””ํดํŠธ๋‹ค. image

image

when์ ˆ
ํŒจํ„ด ๋’ค์— when๊ณผ ๋…ผ๋ฆฌ์‹์„ ๋”ํ•˜๋ฉด ์ถ”๊ฐ€ ์กฐ๊ฑด์ด ๋‹ฌ๋ฆฐ๋‹ค. ๊ฐ€๋ น ์ €๊ธฐ๋‹ค when false๋ฅผ ๋ถ™์ธ๋‹ค๋ฉด. image

image 3 ํŒจํ„ด์„ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•˜๊ณ  ๋””ํดํŠธ๋กœ ๊ฐ€๋Š”๊ฒƒ์„ ๋ณผ์ˆ˜์žˆ๋‹ค.


์—ฌ๊ธฐ์„  ์ˆซ์ž๋งŒ์„ ํŒจํ„ด์œผ๋กœ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ ์ €๊ฑฐ ๋ง๊ณ ๋„ ๋ฌด๊ถ๋ฌด์ง„ํ•œ ํŒจํ„ด ๋Œ€์ƒ์ž๋“ค์ด ์žˆ๋‹ค. ์ž์„ธํ•œ๊ฑด ๋ฌธ์„œ๋กœ...
https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/pattern-matching