[Rust] ๋ฐฐ์—ด

[์›๋ณธ ๋งํฌ]

rust๋„ ๋‹น์—ฐํžˆ ๋ฐฐ์—ด์ด ์žˆ๋‹ค.

ํƒ€์ž…์€ [์š”์†Œํƒ€์ž…; ๊ธธ์ด]๋กœ ์ง€์ •๋œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ดˆ๊ธฐํ™” ๋ชฉ๋ก์€ [2,3,4,5,6...]์ด๋Ÿฐ์‹์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์•„๋ž˜์™€ ๊ฐ™์ด ์“ฐ๋ฉด ๋œ๋‹ค.
๋ฐฐ์—ด์„ mut๋กœ ์„ ์–ธํ•ด์•ผ ์š”์†Œ์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

ํƒ€์ž… ๋ช…์‹œ ์—†์ด ๋Œ€๊ด„ํ˜ธ ์ดˆ๊ธฐํ™” ๋ฆฌ์ŠคํŠธ๋กœ ์ดˆ๊ธฐํ™”ํ•˜๋ฉด ์•Œ์•„์„œ ์ถ”๋ก ์ด ๋œ๋‹ค.

arr.iter()๋Š” ํ•ด๋‹น ๋ฐฐ์—ด์˜ ์ดํ„ฐ๋ ˆ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์ปจํ…Œ์ด๋„ˆ์— ๋‹ค ๋“ค์–ด์žˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋ฐฐ์—ด ์ž์ฒด๋ฅผ ์ฐธ์กฐ๋กœ ์ „๋‹ฌํ•ด๋„ ๋œ๋‹ค,

๋‹ค์ฐจ์›๋ฐฐ์—ด๋„ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.

์ด๋Ÿฐ ์‹.

๊ทธ๋ฆฌ๊ณ  ๋ฐฐ์—ด์˜ ์š”์†Œ ์ผ๋ถ€๋ถ„์„ ์ฐธ์กฐํ•˜๋Š” ์Šฌ๋ผ์ด์Šค๋ž€ ๊ฒƒ์ด ์žˆ๋‹ค.
์ธ๋ฑ์Šค์— ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•ด์„œ ๊ฐ’์„ ๋”ฐ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ธธ์ด๋ฅผ ๋งˆ์Œ๋Œ€๋กœ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒกํ„ฐ๊ฐ€ ์žˆ๋‹ค.

std::vec ๋ชจ๋“ˆ(๋„ค์ž„์ŠคํŽ˜์ด์Šค)์— ์žˆ๊ณ , ํƒ€์ž…๋ช…์€ Vec์ด๋‹ค.

์ œ๋„ˆ๋ฆญ ์ปจํ…Œ์ด๋„ˆ์ด๊ธฐ ๋•Œ๋ฌธ์— ํƒ€์ž…์„ ์–ธ์‹œ Vec<์š”์†Œํƒ€์ž…> ๋กœ ์ ์–ด์ค˜์•ผ ํ•œ๋‹ค.

ํƒ€์ž…๋งŒ ๋งž์ถฐ์ฃผ๊ณ  Vec::new()์ƒ์„ฑ์œผ๋กœ ๋ฒกํ„ฐ๋ฅผ ๋„ฃ์–ด์ค˜๋„ ๋˜๊ณ , ์ƒ์„ฑ ์—†์ด ๋ฐ”๋กœ ๊ฐ’ ๋ชฉ๋ก์„ ๋„ฃ์–ด์ค˜๋„ ๋œ๋‹ค.


๋Œ€๊ฐ• ์ด๋Ÿฐ ์‹์œผ๋กœ ๋ง์ด๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐฐ์—ด์ด ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋“ค์„ ๋Œ€๋ถ€๋ถ„ ํ•  ์ˆ˜ ์žˆ๊ณ ,ย ์ข€๋” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์ž์„ธํ•œ ๊ฒƒ๋“ค์€ ๋ ˆํผ๋Ÿฐ์Šค ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด ๋œ๋‹ค.
์‹ฌํ”Œํ•˜๊ฒŒ ์ž˜ ์ •๋ฆฌํ•ด๋†จ๋‹ค.

https://doc.rust-lang.org/std/vec/struct.Vec.html