ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฒ๋ค์ธ ์ ์ด๋ฌธ, ๋ฌธ์์ด, ํจ์์ ๋ํด์ ์ ์ด๋ณด๋ คํ๋ค. ๋ค๋ฅธ ์ธ์ด์ ๋ง์ ์ ์ด ๋ค๋ฅด์ง๋ ์๊ธฐ ๋๋ฌธ์ ํ ํฌ์คํ ์์ ๋ชจ๋ ์์๋ณด๋ ค ํ๋ค. ๋ค๋ง Switch, String(unicode, index ๋ฌธ์ ๋๋ฌธ)์ ๊ฒฝ์ฐ๋ ์กฐ๊ธ ๋ค๋ฅด๋ ์ถ๊ฐ๋ก ์์๋ณด๋ ๊ฒ์ ์ถ์ฒ๋๋ฆฐ๋ค. ํจ์๋ ์ฌ์ค closure์ ์ผ์ข ์ธ๋ฐ, ์ด๋ ์ด ๋ค์ ๊ธ์์ ์์๋ณด๋๋ก ํ๊ณ , ์ด๋ฒ์๋ ์ผ๋ฐ์ ์ผ๋ก ์๋ ํจ์์ ๊ฐ๋ ์ผ๋ก ์ดํดํ๊ณ ๊ธ์ ์ฝ์ด๋ณด์.
๋ฐ๋ณต
- for-in
- Sequence๋ฅผ iterate
- Sequence Protocol์ ๋ง์กฑํ๋ ๋ชจ๋ ๊ฐ์ฒด์์ ์ฌ์ฉ๊ฐ๋ฅ
- Sequence ์ ์
- for-in loop๋ก ์ํํ ์ ์๋ ํ์
- Sequence ์ข ๋ฅ
- Sequence ์ ์
- while
- ์กฐ๊ฑด ๋ฌธ์ด ์์ ์๊ธฐ ๋๋ฌธ์ ์ต์ 0ํ ์คํ
- repeat-while
- do-while๊ณผ ์ ์ฌ
- ์กฐ๊ฑด๋ฌธ ๋ค์ ์๊ธฐ ๋๋ฌธ์ ์ต์ 1ํ ์คํ
๋ถ๊ธฐ
- if
- if, else if, else
- switch
-
Pattern Matching
-
๋ณต์กํ ์กฐ๊ฑด์ ๋ฐ๋ฅธ ๋ถ๊ธฐ ๊ฐ๋ฅ
-
break๋ฌธ ์ฌ์ฉํ์ง ์์๋ ๊ฐ case๋ง ์คํํ๊ณ ์ข ๋ฃ๋จ
- ๋ง์ฝ ์๋๊น์ง ๋์ํ๊ณ ์ถ๋ค๋ฉด
fallthrough
ํค์๋ ํ์ฉ
- ๋ง์ฝ ์๋๊น์ง ๋์ํ๊ณ ์ถ๋ค๋ฉด
-
๋ชจ๋ case๋ฌธ์ ๋ฐ๋์ ์คํ๋ฌธ์ด ํ์ค์ด์ ์์ด์ผ ํจ
-
๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํด case๋ฌธ์ด ์๋ค๋ฉด ๋ฐ๋์
default
ํ์ -
Interval Matching
-
Value Binding
- where ์ ์ ์ฌ์ฉํ๋ฉด ์ถ๊ฐ ์กฐ๊ฑด ํ์ธ์ด ๊ฐ๋ฅํจ
-