Currying
About
์ํ๊ณผ ์ปดํจํฐ ๊ณผํ์์ ์ปค๋ง(currying)์ด๋ ๋ค์ค ์ธ์(ํน์ ์ฌ๋ฌ ์ธ์์ ํํ)์ ๊ฐ๋ ํจ์๋ฅผ ๋จ์ผ ์ธ์๋ฅผ ๊ฐ๋ ํจ์๋ค์ ํจ์์ด๋ก ๋ฐ๊พธ๋ ๊ฒ์ ๋งํ๋ค. - ์ํค๋ฐฑ๊ณผ
์ปค๋ง(Currying)์ด๋ ์ธ์๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ฐ๋ ํจ์๋ฅผ ๋ถ๋ฆฌํ์ฌ ์ธ์๋ฅผ ํ๋์ฉ๋ง ๋ฐ๋ ํจ์์ ์ฒด์ธ์ผ๋ก ๋ง๋๋ ๊ธฐ๋ฒ์ด๋ค.
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ ์ค ํ๋๋ก, ์ฃผ๋ก ํจ์๋ฅผ ํ์ฅ, ์ฌ์ฌ์ฉํ๊ณ ๊ฐ๋ ์ฑ์ ๋์ด๋ ๋ฐ ์ฌ์ฉ๋๋ค.
๊ทผ๋ฐ ์ปค๋ฆฌ๋ ์นด๋ ์๋๊ฐ? ์ถ์ ์ ์๋ค. ๐
์ปค๋ง์ ๋ฐ์ ์ํจ ์ฌ๋์ธ ํ์ค์ผ ์ปค๋ฆฌ์ ์ด๋ฆ์ ๋ฐ์ ์ง์๊ธฐ ๋๋ฌธ์ ์ปค๋ง์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
(ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ํ์ค์ผ๋ ๊ทธ์ ์ด๋ฆ์ ๋ฐ์ ๋ง๋ค์๋ค.)
Example
๋ค์ multiply3
์ a
, b
, c
๋ฅผ ์ธ์๋ก ๋ฐ์ ์ธ ๋ณ์์ ๊ณฑ์ ๋ฐํํ๋ ํจ์์ด๋ค.
์ด๋ฅผ ์ปค๋ง์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
Notes
์ปค๋ง์ ์ธ์์ ์๋ ํ์ด ๋ช ํํ๊ฒ ์ ํด์ง์ง ์์ ํจ์์๋ ์ ๋ง์ง ์๋๋ฐ, ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ์ธ์ ๊ฐ์๋ฅผ ๋์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ธฐ๋ฒ์ด ์ข ์ข ์ฌ์ฉ๋์ด ์ปค๋ง๊ณผ ์ ์ด์ธ๋ฆฌ์ง ์๋๋ค. ๋ค์ ์์๋ฅผ ์๊ฐํด๋ณด์.
ํจ์ํ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ ์์ธ ๋ง์ดํด ํฌ๊ฑฐ์ค๋ '์๋ฐ์คํฌ๋ฆฝํธ์์๋ ์ปค๋ง๋ณด๋ค๋ ๋ถ๋ถ ์ ์ฉ์ด ๋ ์ค์ฉ์ '์ด๋ผ๊ณ ๋งํ๋ค.
๋ง์ดํด ํฌ๊ฑฐ์ค์ ๋ธ๋ก๊ทธ๋ ๊ฝค ํํ ๊ฒ ๊ฐ๋ค. ๋์ค์ ์ฐธ๊ณ ํด๋ ๊ด์ฐฎ๊ฒ ๋ค ๐
Last updated