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` Π½Π΅ пСрСмСщаСтся, ΠΈ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.



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

To pay the bills, Mr. Durov is issuing investors $1 billion to $1.5 billion of company debt, with the promise of discounted equity if the company eventually goes public, the people briefed on the plans said. He has also announced plans to start selling ads in public Telegram channels as soon as later this year, as well as offering other premium services for businesses and users.

Telegram and Signal Havens for Right-Wing Extremists

Since the violent storming of Capitol Hill and subsequent ban of former U.S. President Donald Trump from Facebook and Twitter, the removal of Parler from Amazon’s servers, and the de-platforming of incendiary right-wing content, messaging services Telegram and Signal have seen a deluge of new users. In January alone, Telegram reported 90 million new accounts. Its founder, Pavel Durov, described this as β€œthe largest digital migration in human history.” Signal reportedly doubled its user base to 40 million people and became the most downloaded app in 70 countries. The two services rely on encryption to protect the privacy of user communication, which has made them popular with protesters seeking to conceal their identities against repressive governments in places like Belarus, Hong Kong, and Iran. But the same encryption technology has also made them a favored communication tool for criminals and terrorist groups, including al Qaeda and the Islamic State.

Rust from us


Telegram Rust
FROM USA