Telegram Group & Telegram Channel
πŸ¦€ Rust-Π·Π°Π΄Π°Ρ‡Π°: Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ·-Π·Π° владСния ΠΈ `for`


fn main() {
let data = vec!["rust", "go", "zig"];

for item in data {
println!("{item}");
}

println!("{:?}", data);
}


❓ Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΏΡ€ΠΈ компиляции ΠΈ запускС?

β€’ a) Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ rust, go, zig, Π·Π°Ρ‚Π΅ΠΌ ["rust", "go", "zig"]
β€’ b) Ошибка компиляции: data ΡƒΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Ρ‘Π½
β€’ c) Всё Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ &str ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ
β€’ d) ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° скомпилируСтся, Π½ΠΎ ΡƒΠΏΠ°Π΄Ρ‘Ρ‚ Π²ΠΎ врСмя выполнСния

πŸ’‘ Π Π°Π·Π±ΠΎΡ€

for item in data Π² Rust ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ `data`, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Vec<T> ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ потрСбляСтся Π² IntoIterator. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ послС Ρ†ΠΈΠΊΠ»Π° data большС Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main.

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ data Π² println! послС этого ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ошибкС компиляции: value borrowed after move.

βœ… **ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚: b) Ошибка компиляции: `data` ΡƒΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Ρ‘Π½**

🧠 **Π’Ρ‹Π²ΠΎΠ΄:** Π² Rust `for item in collection` ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ `.into_iter()`, Π° Π½Π΅ `.iter()`, ΠΈ это **ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π±Ρ€Π°Ρ‚ΡŒ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅** ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ.

πŸ”§ **Как ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ:**

Если Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ `data`, итСрация Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎ ссылкС:


for item in &data {
println!("{item}");
}

println!("{:?}", data);


Π’Π΅ΠΏΠ΅Ρ€ΡŒ `data` Π½Π΅ пСрСмСщаСтся, ΠΈ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.
πŸ‘43❀8πŸ”₯3πŸ₯°1😁1



tg-me.com/rust_code/977
Create:
Last Update:

πŸ¦€ Rust-Π·Π°Π΄Π°Ρ‡Π°: Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ·-Π·Π° владСния ΠΈ `for`


fn main() {
let data = vec!["rust", "go", "zig"];

for item in data {
println!("{item}");
}

println!("{:?}", data);
}


❓ Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΏΡ€ΠΈ компиляции ΠΈ запускС?

β€’ a) Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ rust, go, zig, Π·Π°Ρ‚Π΅ΠΌ ["rust", "go", "zig"]
β€’ b) Ошибка компиляции: data ΡƒΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Ρ‘Π½
β€’ c) Всё Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ &str ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ
β€’ d) ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° скомпилируСтся, Π½ΠΎ ΡƒΠΏΠ°Π΄Ρ‘Ρ‚ Π²ΠΎ врСмя выполнСния

πŸ’‘ Π Π°Π·Π±ΠΎΡ€

for item in data Π² Rust ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ `data`, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Vec<T> ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ потрСбляСтся Π² IntoIterator. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ послС Ρ†ΠΈΠΊΠ»Π° data большС Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main.

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ data Π² println! послС этого ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ошибкС компиляции: value borrowed after move.

βœ… **ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚: b) Ошибка компиляции: `data` ΡƒΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Ρ‘Π½**

🧠 **Π’Ρ‹Π²ΠΎΠ΄:** Π² Rust `for item in collection` ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ `.into_iter()`, Π° Π½Π΅ `.iter()`, ΠΈ это **ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π±Ρ€Π°Ρ‚ΡŒ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅** ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ.

πŸ”§ **Как ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ:**

Если Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ `data`, итСрация Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎ ссылкС:


for item in &data {
println!("{item}");
}

println!("{:?}", data);


Π’Π΅ΠΏΠ΅Ρ€ΡŒ `data` Π½Π΅ пСрСмСщаСтся, ΠΈ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.

BY Rust


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/rust_code/977

View MORE
Open in Telegram


Rust Telegram | DID YOU KNOW?

Date: |

Why Telegram?

Telegram has no known backdoors and, even though it is come in for criticism for using proprietary encryption methods instead of open-source ones, those have yet to be compromised. While no messaging app can guarantee a 100% impermeable defense against determined attackers, Telegram is vulnerabilities are few and either theoretical or based on spoof files fooling users into actively enabling an attack.

That strategy is the acquisition of a value-priced company by a growth company. Using the growth company's higher-priced stock for the acquisition can produce outsized revenue and earnings growth. Even better is the use of cash, particularly in a growth period when financial aggressiveness is accepted and even positively viewed.he key public rationale behind this strategy is synergy - the 1+1=3 view. In many cases, synergy does occur and is valuable. However, in other cases, particularly as the strategy gains popularity, it doesn't. Joining two different organizations, workforces and cultures is a challenge. Simply putting two separate organizations together necessarily creates disruptions and conflicts that can undermine both operations.

Rust from tw


Telegram Rust
FROM USA