Hello World!
๊ฐ์ฅ ๊ฐ๋จํ ๋ฌ์คํธ ํ๋ก๊ทธ๋จ์ผ๋ก์จ, ๊ณ ์ ์ ์ธ Hello World ๋ฅผ ์์ฑํด ๋ณด๊ฒ ์ต๋๋ค:
fn main() { println!("Hello ๐!"); }
ํ์ธํ ์ ์๋ ๊ฒ๋ค:
- ํจ์๋
fn
์ผ๋ก ์ ์ธํฉ๋๋ค. - C/C++ ์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ค๊ดํธ
{}
๋ก ๋ธ๋ก์ ํ์ํฉ๋๋ค. main
ํจ์๋ ํ๋ก๊ทธ๋จ ์ง์ ์ ์ ๋๋ค.- ๋ฌ์คํธ๋ ๋๋ํ ๋งคํฌ๋ก(hygienic macros) ์์คํ
์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
println!
๋ ๊ทธ ์์์ ๋๋ค. - ๋ฌ์คํธ์ ๋ฌธ์์ด์ UTF-8๋ก ์ธ์ฝ๋ฉ๋๋ฉฐ ์ด๋ชจ์ง์ ๊ฐ์ ์ ๋์ฝ๋ ๋ฌธ์๋ฅผ ํฌํจํ ์ ์์ต๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ ํ์๋ค์ด ๋ฌ์คํธ ์ฝ๋์ ์ต์ํด์ง๊ธฐ ์ํด ์์ฑ๋์์ต๋๋ค. ์์ผ๋ก 3์ผ ๋์ ๋ง์ ์ฝ๋๋ฅผ ์ ํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ฐ์ ์น์ํ ์ฝ๋๋ถํฐ ์์ํฉ๋๋ค.
ํค ํฌ์ธํธ:
-
๋ฌ์คํธ๋ C/C++/Java์ ๊ฐ์ ์ ํต์ ์ธ ๋ค๋ฅธ ์ธ์ด์ ๋งค์ฐ ์ ์ฌํฉ๋๋ค. ๋ฌ์คํธ๋ ์ ์ฐจ์ ์ธ์ด์ ๋๋ค. ์ ๋ง๋ก ํ์ํ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๋ฉด, ๋ฌ์คํธ๋ ์ด๋ฏธ ์กด์ฌํ๋ ๊ฒ์ ์๋ก ๊ตฌํํ๋ ค๊ณ ํ์ง ์์ต๋๋ค.
-
๋ฌ์คํธ๋ ์ ๋์ฝ๋ ์ง์๊ณผ ๊ฐ์ ํ๋ ์ธ์ด์ ํน์ง์ ์ ๋ถ ์ง์ํฉ๋๋ค.
-
๋ฌ์คํธ๋ ์ธ์์ ๊ฐ์๋ฅผ ์ฌ์ ์ ์ง์ ํ ์ ์๋ ์ํฉ์์ ํจ์ ์ค๋ฒ๋ก๋ฉ๋์ ๋งคํฌ๋ก๋ฅผ ์ฌ์ฉํฉ๋๋ค.
-
๋๋ํ ๋งคํฌ๋ก(hygienic macro)๋ ๋งคํฌ๋ก๊ฐ ์ฌ์ฉ๋๋ ์ค์ฝํ์์ ์๋์น ์๊ฒ ๋ณ์๋ฅผ ๊ฐ๋ก์ฑ์ง ์์ต๋๋ค. ์ฌ์ค ๋ฌ์คํธ ๋งคํฌ๋ก๋ ์์ ํ hygenicํ์ง๋ ์์ต๋๋ค. ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
-
๋ฌ์คํธ๋ ๋ฉํฐ ํจ๋ฌ๋ค์ ์ธ์ด์ ๋๋ค. ์๋ฅผ ๋ค์ด ๊ฐ๋ ฅํ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฅ์ ์ง์ํ๊ธฐ๋ ํ๋ฉฐ, ํจ์ํ ์ธ์ด๋ก ๋ถ๋ฅ๋์ง๋ ์์ง๋ง ํญ๋์ ๋ฒ์์ ํจ์ํ ์ปจ์ ์ ์ง์ํฉ๋๋ค.