[過去ログ]
Rust part24 (1002レス)
Rust part24 http://mevius.5ch.net/test/read.cgi/tech/1716759686/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
507: デフォルトの名無しさん [sage] 2024/06/30(日) 16:49:10.64 ID:MSv8cbxu Rustで関数型のように書くなら use std::env; use std::fs::File; use std::io::{self, BufRead, BufReader}; fn main() -> io::Result<()> { env::args() .skip(1) .inspect(|file_name| println!("{file_name}")) .map(|file_name| { File::open(file_name).and_then(|file| { BufReader::new(file) .lines() .enumerate() .map(|(i, line)| line.map(|line| println!("{}: {line}", i + 1))) .collect() }) }) .collect() } http://mevius.5ch.net/test/read.cgi/tech/1716759686/507
509: デフォルトの名無しさん [sage] 2024/06/30(日) 17:13:06.42 ID:MSv8cbxu >>508 そこは手続き型で書くと let line = line?; のところ 最初のlineはio::Result<String>型 それをmapして次のlineがString型 http://mevius.5ch.net/test/read.cgi/tech/1716759686/509
513: デフォルトの名無しさん [sage] 2024/06/30(日) 18:28:40.79 ID:MSv8cbxu 関数型のように書きたいならば基本はfor_eachを使わない 行き詰まりのfor_eachを使うと値もエラーも返せなくなる http://mevius.5ch.net/test/read.cgi/tech/1716759686/513
517: デフォルトの名無しさん [sage] 2024/06/30(日) 21:23:59.76 ID:MSv8cbxu >>515 静的にサイズが定数だと静的に比較できるから事前にコンパイルエラーとなる 配列は静的にサイズが定数 スライスもこのように静的にサイズを定数にしてやれば事前にコンパイルエラーとなる const X: &[u32] = &[1, 2, 3, 4]; let x = X[5]; http://mevius.5ch.net/test/read.cgi/tech/1716759686/517
521: デフォルトの名無しさん [sage] 2024/06/30(日) 23:09:55.43 ID:MSv8cbxu >>520 for_eachは値を返せない 関数は基本的に値やエラーを返す イテレータ利用で値やエラーを返すためにはfor_eachではなくcollectやfoldなどを用いる >>507のように表示するだけで値を返さない場合であっても 関数はエラーを返さなければならない http://mevius.5ch.net/test/read.cgi/tech/1716759686/521
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.050s