( uid_6201 | 2020. 03. 08., v – 08:29 )

Előbb-utóbb eljutsz te is oda, hogy a C mellett a Rust lesz neked is a másik barátod. A C-ben meglevő nem kevés problémát újragondoltak ebben a nyelvben, és bátran bevállalták a radikális szemléletváltást.
Nem csoda, hogy a hype-listán előkelő helyen van. Mielőtt megkérdezed: jól tudok C-ben is programozni. Nemrég Rust + C közös kódot írtam, mert a rádiófrekvenciás jel decimálására a C tempója verhetetlen.

Alább a kapcsos zárójel példa Rust esetén:


$ cat teszt.rs 
fn main() {
    if 4 == 4 println!("Azonos");
}

$ rustc teszt.rs 
error: expected `{`, found `println`
 --> teszt.rs:2:15
  |
2 |     if 4 == 4 println!("Azonos");
  |     --        ^^^^^^^------------
  |     |         |
  |     |         expected `{`
  |     |         help: try placing this code inside a block: `{ println!("Azonos"); }`
  |     this `if` statement has a condition, but no block

error: aborting due to previous error


Odarakod a kapcsos zárójeleket, lefordul.
És hogy a kódnak egységes kinézete legyen, ne függjön a fejlesztő személyétől:

$ rustfmt teszt.rs

A rustfmt által javított kinézetű kód pedig ebben az esetben ilyen lesz:

fn main() {
    if 4 == 4 {
        println!("Azonos");
    }
}

 

Cargo használatával további tool, amely a hülyeségre figyelmeztet:

$ cargo clippy
    Checking t v0.1.0 (/tmp/hup/pelda)
error: equal expressions as operands to `==`
 --> src/main.rs:2:8
  |
2 |     if 4 == 4 {
  |        ^^^^^^
  |