[Elm] ๋ ˆ์ฝ”๋“œ

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

๋ ˆ์ฝ”๋“œ๋Š” ํŠœํ”Œ๊ณผ ์œ ์‚ฌํ•œ ๋ณตํ•ฉ ํƒ€์ž…์ด๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํƒ€์ž…์˜ ๊ฐ’๋“ค์„ ํ•˜๋‚˜๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค.
ํ•˜์ง€๋งŒ ์ด๊ฑด ํŠœํ”Œ๊ณผ ๋‹ค๋ฅด๊ฒŒ ๊ฐ ์š”์†Œ์— ์ด๋ฆ„์ด ๋ถ™๋Š”๋‹ค.
๊ทธ๋ž˜์„œ ์ด๋ฆ„์„ ํ†ตํ•ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์–ด, ์‚ฌ์šฉ์ด ๋” ์šฉ์ดํ•˜๋‹ค.

๋‹ค๋ฅธ ์–ธ์–ด์—์„œ์˜ ๊ตฌ์กฐ์ฒด ๋“ฑ๊ณผ ๋™๋“ฑํ•˜๋‹ค.

์ผ๋‹จ ๋ ˆ์ฝ”๋“œ๋Š”, ์ค‘๊ด„ํ˜ธ๋กœ ๊ฐ์‹ธ๊ณ , ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋ณ€์ˆ˜ ์„ ์–ธ์˜ ๋ชฉ๋ก์œผ๋กœ ํ‘œํ˜„๋œ๋‹ค.
{ ํ•„๋“œ1=๊ฐ’1, ํ•„๋“œ2=๊ฐ’2, ... }

๊ทธ๋ฆฌ๊ณ  ๋ ˆ์ฝ”๋“œ์˜ ํ•„๋“œ๋Š” ์ง€์ •๋œ ํ•„๋“œ๋ช…์œผ๋กœ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.



๋ ˆ์ฝ”๋“œ์˜ ๊ฐฑ์‹ 

๋ ˆ์ฝ”๋“œ๋„ ์ผ๋ฐ˜ ๋ณ€์ˆ˜์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

๋˜๋‹ค๋ฅธ ๊ฐ’์˜ ์ƒํƒœ๋ฅผ ํ‘œํ˜„ํ•˜๋ ค๋ฉด ๋ ˆ์ฝ”๋“œ๋ฅผ ์žฌ์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š”๋ฐ...
์—ฌ๊ธฐ์—” ๊ดœ์ฐฎ์€ ์ „์šฉ ํ‘œํ˜„์‹์ด ์žˆ๋‹ค.
์•„๋ž˜์˜ ํ˜•์‹์„ ์“ฐ๋ฉด, ๋ช…์‹œ๋œ ํ•„๋“œ๋งŒ ๋ฐ”๋€Œ๊ณ  ๋‹ค๋ฅธ๊ฑด ๊ทธ๋Œ€๋กœ์ธ ๋ ˆ์ฝ”๋“œ ๊ฐ์ฒด๊ฐ€ ๋ณต์‚ฌ๋˜์–ด ๋ฐ˜ํ™˜๋œ๋‹ค.
{ ๋ ˆ์ฝ”๋“œ๊ฐ’ | ๋ฐ”๊ฟ€ํ•„๋“œ... }



ํƒ€์ž…๋ช… ๋ถ€์—ฌ

๊ทผ๋ฐ ๋ ˆ์ฝ”๋“œ๋Š” ๋ฆฌ์ŠคํŠธ์™€ ๋‹ฌ๋ฆฌ, ํƒ€์ž…์„ ํ•ญ์ƒ ๊ทธ๋Œ€๋กœ ์จ์„œ ๋ช…์‹œํ•˜๊ธฐ๊ฐ€ ์˜... ๋ถˆํŽธํ•˜๋‹ค.
๋ ˆ์ฝ”๋“œ๋ฅผ ์ œ๋Œ€๋กœ ์“ฐ๋ ค๋ฉด type alias๋กœ ์ด๋ฆ„์„ ๋ถ™์—ฌ์ฃผ๋Š”๊ฒŒ ์ข‹๋‹ค.


์ฐธ์กฐ
https://www.tutorialspoint.com/elm/elm_records.htm