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: |

How Does Telegram Make Money?

Telegram is a free app and runs on donations. According to a blog on the telegram: We believe in fast and secure messaging that is also 100% free. Pavel Durov, who shares our vision, supplied Telegram with a generous donation, so we have quite enough money for the time being. If Telegram runs out, we will introduce non-essential paid options to support the infrastructure and finance developer salaries. But making profits will never be an end-goal for Telegram.

Unlimited members in Telegram group now

Telegram has made it easier for its users to communicate, as it has introduced a feature that allows more than 200,000 users in a group chat. However, if the users in a group chat move past 200,000, it changes into "Broadcast Group", but the feature comes with a restriction. Groups with close to 200k members can be converted to a Broadcast Group that allows unlimited members. Only admins can post in Broadcast Groups, but everyone can read along and participate in group Voice Chats," Telegram added.

Rust from ua


Telegram Rust
FROM USA