use, super, self
๋ชจ๋์ use
๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ๋ชจ๋์ ์ฌ๋ณผ์ ๋ด ์ค์ฝํ๋ก ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ฐ ๋ชจ๋์ ์๋จ์ ๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ์ด ์ต๋๋ค:
use std::collections::HashSet; use std::process::abort;
๊ฒฝ๋ก
๊ฒฝ๋ก๋ ์๋์ ๊ฐ์ด ๊ตฌ๋ถํฉ๋๋ค:
-
์๋ ๊ฒฝ๋ก:
foo
๋๋self::foo
๋ ํ์ฌ ๋ชจ๋ ๋ด๋ถ์foo
๋ฅผ ๊ฐ๋ฆฌํต๋๋ค,super::foo
๋ ๋ถ๋ชจ ๋ชจ๋์foo
๋ฅผ ๊ฐ๋ฆฌํต๋๋ค.
-
์ ๋ ๊ฒฝ๋ก:
crate::foo
๋ ํ์ฌ ํฌ๋ ์ดํธ ๋ฃจํธ์foo
๋ฅผ ๊ฐ๋ฆฌํต๋๋ค,bar::foo
๋bar
ํฌ๋ ์ดํธ์foo
๋ฅผ ๊ฐ๋ฆฌํต๋๋ค.
-
๋ ์งง์ ๊ฒฝ๋ก์์ ๊ธฐํธ๋ฅผ โ๋ค์ ๋ด๋ณด๋ด๊ธฐโํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ ๋๋ค. ์๋ฅผ ๋ค์ด ํฌ๋ ์ดํธ์ ์ต์์
lib.rs
๋mod storage; pub use storage::disk::DiskStorage; pub use storage::network::NetworkStorage;
ํธ๋ฆฌํ๊ณ ์งง์ ๊ฒฝ๋ก๋ก ๋ค๋ฅธ ํฌ๋ ์ดํธ์์
DiskStorage
๋ฐNetworkStorage
๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํ ์ ์์ต๋๋ค. -
๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ชจ๋์ ๋ํ๋๋ ํญ๋ชฉ๋ง โuseโ ์ฒ๋ฆฌ ๋์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ํธ๋ ์์ ๊ตฌํํ๋ ํ์ ์ด ์ด๋ฏธ ๋ฒ์ ๋ด์ ์๋๋ผ๋ ํด๋น ํธ๋ ์์์ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ค๋ฉด ํธ๋ ์์ด ๋ฒ์ ๋ด์ ์์ด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด
Read
ํธ๋ ์์ ๊ตฌํํ๋ ํ์ ์์read_to_string
๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ค๋ฉดuse std::io::Read
๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. -
use
๋ฌธ์๋ ์์ผ๋ ์นด๋(use std::io::*
)๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ ๊ฐ์ ธ์ค๋ ํญ๋ชฉ์ด ๋ช ํํ์ง ์๊ณ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ณ๊ฒฝ๋ ์ ์์ผ๋ฏ๋ก ๊ถ์ฅ๋์ง ์์ต๋๋ค.