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
UNIXプログラミング質問すれ Part10
レス数が900を超えています。1000を超えると表示できなくなるよ。
1unco ◆manko/yek.
2011/04/18(月) 17:06:36.77941デフォルトの名無しさん
2023/08/25(金) 10:29:22.44ID:5+gJach+ ああ has_headers() が読み飛ばしてただけか
942937
2023/08/26(土) 03:49:56.11ID:wsJDYSi/ >>937
を修正。
2, 3列目を整数に変換する
require 'csv'
proc = Proc.new do |field, field_info|
case field_info.index
when 2, 3 then field.to_i
else
field # 処理なし
end
end
options = { col_sep: ":", :converters => proc } # 列区切り文字
CSV.foreach( "input.csv", options ) do |row| # 1行ずつ処理する
p row
end
出力
["root", "x", 0, 0, "root", "/root", "/bin/bash"]
["user01", "x", 500, 500, nil, "/home/user01", "/bin/bash"]
を修正。
2, 3列目を整数に変換する
require 'csv'
proc = Proc.new do |field, field_info|
case field_info.index
when 2, 3 then field.to_i
else
field # 処理なし
end
end
options = { col_sep: ":", :converters => proc } # 列区切り文字
CSV.foreach( "input.csv", options ) do |row| # 1行ずつ処理する
p row
end
出力
["root", "x", 0, 0, "root", "/root", "/bin/bash"]
["user01", "x", 500, 500, nil, "/home/user01", "/bin/bash"]
943デフォルトの名無しさん
2023/08/26(土) 21:18:17.35ID:C41SkMxi C言語とRustについて聞かれているのに
一生懸命Rubyで答えてどうするの?
ちょっと心配した方が良いレベルやぞ
一生懸命Rubyで答えてどうするの?
ちょっと心配した方が良いレベルやぞ
944デフォルトの名無しさん
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(())
}
以下のように(好きな型名とフィールド名で)構造体を定義するだけで動く
#[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を超えると表示できなくなるよ。
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★12 [BFU★]
- 台湾有事での集団的自衛権行使に賛成48%、「反対」が44.2% [♪♪♪★]
- 首相官邸前で「戦争あおるな」 台湾有事巡る答弁に抗議 ★3 [蚤の市★]
- 中国・国連大使「日本側は反省せず、発言の撤回拒否」 書簡を国連事務総長に送る [♪♪♪★]
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★13 [BFU★]
- 【NHK】受信料の未払い督促を10倍に強化… 支払い拒否が続くと民事手続きも 「カーナビも受信料いただきます」方針 [冬月記者★]
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap600
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1807
- 京都競馬4回5日目エリザベス女王杯★3
- 福島競馬3回5日目
- こいせん 全レス転載禁止
- はません ★2
- 国民「コメが高くて買えないの助けて!」米卸「コメが高くて売れないの助けて!」農水相「価格はマーケット決めるものです🥴」 [817260143]
- 【悲報】高市早苗日本国総理大臣「外交交渉でマウント取れる」 [115996789]
- 【高市悲報】服👕はユニクロでいいおじさん 「服はユニクロでいい」 どうすんのこれ [573041775]
- 【撤退】高市発言の余波、、日本車のシェア低下で、中国市場から日系企業の撤退、縮小が相次ぐ可能性。これがネトウヨが望んだ未来か、 [219241683]
- 小野田大臣「それ正式なデータですか?報道ベースですよね」(10万いいね) [237216734]
- イ・ジェミョン「台湾有事で台湾を助けるかは宇宙人が地球に侵攻してきたらその時に考える」高市に格の違いを見せつける [931948549]
