Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

C vs Rust

Name: Anonymous 2015-02-13 1:07

C:
int main(int argc, char **argv) {
int r;
if(argc > 1) {
r = atoi(argv[1]);
} else {
usage();
exit(EXIT_FAILURE);
}
}


Rust:
fn main() {
let argv: Vec<Result<String,OsString>> = std::env::args()
.map(|x| x.into_string())
.collect();

let r = match argv.get(1) {
Some(x) => match x.parse::<i32>() {
Ok(v) => v,
Err(_) => {
show_usage();
panic!()
},
},
None => {
show_usage();
panic!()
}
}
}


Type explosion is to be expected. Do notation could have been used to keep the control logic as clean as C, but Rust is not HASKAL and never will be anything like HASKAL and you're an asshole for wanting to write readable code you filthy shit fuck.

Name: Anonymous 2015-02-23 18:12

>>74
[1 of 1] Compiling Main ( anus.hs, interpreted )

anus.hs:3:11: Not in scope: `getArgs'

anus.hs:4:26:
Not in scope: `>>>'
Perhaps you meant one of these:
`>>' (imported from Prelude), `>>=' (imported from Prelude)

anus.hs:4:40: Not in scope: `listToMaybe'
Failed, modules loaded: none.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List