UNIXプログラミング質問すれ Part10

レス数が900を超えています。1000を超えると表示できなくなるよ。
2011/04/18(月) 17:06:36.77
UNIXおよびUNIX clone環境一般のプログラミングに関する質問スレッド 

前スレ 
Part9 http://hibari.2ch.net/test/read.cgi/tech/1205795434/
Part8 http://pc11.2ch.net/test/read.cgi/tech/1147946176/ ;
Part7 http://pc8.2ch.net/test/read.cgi/tech/1127373405/ ;
Part6 http://pc8.2ch.net/test/read.cgi/tech/1116908090/ ;
Part5 http://pc8.2ch.net/test/read.cgi/tech/1105723117/ ;
Part4 http://pc5.2ch.net/test/read.cgi/tech/1095843584/ ;
Part3 http://pc5.2ch.net/test/read.cgi/tech/1085930894/ ;
Part2 http://pc5.2ch.net/test/read.cgi/tech/1055110889/ ;
Part1 http://pc2.2ch.net/tech/kako/992/992057422.html ;


Part3のミラー 
http://makimo.to/2ch/pc5_tech/1085/1085930894.html ;
Part2のミラー 
http://makimo.to/2ch/pc5_tech/1055/1055110889.html ;
2023/08/26(土) 21:18:17.35ID:C41SkMxi
C言語とRustについて聞かれているのに
一生懸命Rubyで答えてどうするの?
ちょっと心配した方が良いレベルやぞ
2023/08/27(日) 03:03:02.52ID:/wQZGqy6
Rustでは文字列から他の型(数値など)への変換やその逆を自動でやってくれる(serdeがある)
以下のように(好きな型名とフィールド名で)構造体を定義するだけで動く

#[derive(Debug, serde::Deserialize)]
struct Passwd {
 name: String,
 passwd: String,
 uid: u32,
 gid: u32,
 gecos: String,
 dir: String,
 shell: String,
}

fn main() -> Result<(), Box<dyn std::error::Error>> {
 // CSVリーダーをヘッダ無しで区切り文字コロンでPASSWD_PATHファイルから読み込みで作成
 let mut reader = csv::ReaderBuilder::new()
  .has_headers(false)
  .delimiter(b':')
  .from_reader(std::fs::File::open(PASSWD_PATH)?);
 // 各行を構造体Passwdへ読み込む (様々なエラーを捕捉できるようResult型が返る)
 for result in reader.deserialize::<Passwd>() {
  let passwd = result?;
  println!("{passwd:?}");
 }
 Ok(())
}
レス数が900を超えています。1000を超えると表示できなくなるよ。