Package, Crates, Modules

7.0 ํŒจํ‚ค์ง€, ํฌ๋ž˜์ดํŠธ, ๋ชจ๋“ˆ์„ ์ด์šฉํ•ด ์ปค์ง€๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ปค์ง€๋ฉด์„œ ์ฝ”๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ด์ง„๋‹ค, ๊ธฐ๋Šฅ์„ ๋‹จ์œ„๋กœ ๋ชจ๋“ˆํ™”ํ•˜๊ณ  ๋‚˜๋ˆ ์•ผ ๊ด€๋ฆฌํ•˜๋Š”๊ฒƒ์ด ํŽธ๋ฆฌํ•˜๋‹ค. ์ด ์ฑ•ํ„ฐ๋Š” ๊ทธ๋Ÿฌํ•œ ๊ฒƒ๋“ค์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃฌ๋‹ค. ๋†’์€ ๋ ˆ๋ฒจ์—์„œ์˜ ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ์„ ์œ„ํ•ด encaptulating, implementing๋“ฑ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃฌ๋‹ค. ์‹ค์ œ ๊ตฌํ˜„์„ ์•Œ์ง€ ๋ชปํ•ด๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ถ”์ƒํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃฌ๋‹ค. scope์™€ namespace๋ฅผ ์ด์šฉํ•ด ์ฝ”๋“œ๋ฅผ ๊ตฌ์กฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃฌ๋‹ค. ์œ„์— ๋‚ด์šฉ๋“ค์„ ์•„์šฐ๋ฅด๋Š” ๋Ÿฌ์ŠคํŠธ์˜ ๋ชจ๋“ˆํ™” ์‹œ์Šคํ…œ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. package : ํฌ๋ ˆ์ดํŠธ๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ๊ณต์œ ํ•˜๋Š” ๋‹จ์œ„ crate : ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ ์‹คํ–‰ํŒŒ์ผ์„ ๋นŒ๋“œํ•˜๋Š” ๋‹จ์œ„ module : ์ฝ”๋“œ๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜๊ณ  namespace๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋‹จ์œ„ path : ๋ชจ๋“ˆ์„ ์ฐธ์กฐํ•˜๋Š” ๋ฐฉ๋ฒ• 7....

April 13, 2024

๋Ÿฌ์ŠคํŠธ ๊ณต์‹ ๊ฐ€์ด๋“œ 2์žฅ ์ •๋ฆฌ

2. Programming a Guessing Game ๊ฐ„๋‹จํ•œ ์ˆซ์ž ๋งž์ถ”๋Š” ๊ฒŒ์ž„์„ ํ†ตํ•ด ๋Ÿฌ์ŠคํŠธ์˜ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ•๊ณผ ๊ธฐ๋Šฅ์„ ์ตํžˆ๋Š” ์˜ˆ์ œ, ์ฒ˜์Œ ๋ฌธ๋ฒ•์„ ๋ฐฐ์šฐ๋Š” ์ž…์žฅ์—์„œ ์ƒ๊ฐ๋ณด๋‹ค ๋‹ค๋ฃฐ ๋‚ด์šฉ์ด ๋งŽ์•˜์—ˆ๋˜ ๊ธฐ์–ต์ด ๋‚œ๋‹ค. Setting Up a New Project ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ $ cargo new guessing_game $ cd guessing_game Processing a Guess src/main.rs use std::io; // io ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. fn main() { println!("Guess the number!"); println!("Please input your guess."); let mut guess = String::new(); // ๋นˆ ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•œ๋‹ค. io::stdin().read_line(&mut guess) // ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๋ฐ›์•„ guess ๋ณ€์ˆ˜์— ์ €์žฅํ•œ๋‹ค....

March 31, 2024

๋Ÿฌ์ŠคํŠธ ๊ณต์‹ ๊ฐ€์ด๋“œ 1์žฅ ์ •๋ฆฌ

1.1. Installation ๋Ÿฌ์ŠคํŠธ ์„ค์น˜์— ๋Œ€ํ•œ ์•„์ฃผ ๊ฐ„๋‹จํ•œ ๊ฐ€์ด๋“œ. ๊ฐ„๋‹จํ•œ ๋‚ด์šฉ์ด๋ผ ๋”ฑํžˆ ์ •๋ฆฌํ•  ๋‚ด์šฉ์€ ์—†๋‹ค. 1.2. Hello, World! ๋Ÿฌ์ŠคํŠธ๋กœ Hello, World! ์ถœ๋ ฅํ•˜๊ธฐ. ํŠน์ง•์ ์ธ ๋‚ด์šฉ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ๊ณต์‹ ๊ฐ€์ด๋“œ์˜ Helloworld ์„น์…˜ ์ฒซ์ค„์— ๋‹ค๋ฅธ ์–ธ์–ด์— ๋Œ€ํ•œ ์ดํ•ด๋„๋ฅผ ์ „์ œํ•˜๊ณ  ์žˆ๋‹ค. ์‹ค์ œ๋กœ ๊ณต์‹ ๊ฐ€์ด๋“œ ๋ฌธ์„œ ๋‚ด๋‚ด ๋Ÿฌ์ŠคํŠธ์˜ ํŠน์ง•์„ ๋‹ค๋ฅธ ์–ธ์–ด์˜ ํŠน์ง•๊ณผ ๊ฑฐ์šธ์ฒ˜๋Ÿผ ๋Œ€๋น„ํ•˜๋ฉฐ ์„ค๋ช…ํ•œ๋‹ค. ํŒŒ์ผ๋ช… ์ปจ๋ฒค์…˜์€ ์Šค๋„ค์ดํฌ ์ผ€์ด์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. (๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฑธ ์ฒซ์žฅ์— ์„ค๋ช…ํ•œ๋‹ค.) rustc์™€ ๊ฐ™์€ ์ปดํŒŒ์ผ ์ปค๋งจ๋“œ๋„ ์ฒซ์žฅ์— ์•Œ๋ ค์ค€๋‹ค. fn main() { println!("Hello, World!"); } ๋‹ค์–‘ํ•œ ์–ธ์–ด๋ฅผ ๋ฐฐ์›Œ์˜ค๋ฉด์„œ ๋Š๋ผ๋Š”๊ฑด, Hello, World!...

March 31, 2024