[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 11/01 06:23 / Filesize : 300 KB / Number-of Response : 1022
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Rust part11



1 名前:デフォルトの名無しさん mailto:sage [2021/06/17(木) 00:24:12.56 ID:NvYoNP9C.net]
公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust

Web上の実行環境
https://play.rust-lang.org

日本語の情報
https://rust-jp.rs/

※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/

※C++との比較は専用スレへ
C++ vs Rust
https://mevius.5ch.net/test/read.cgi/tech/1619219089/

前スレ
Rust part10
https://mevius.5ch.net/test/read.cgi/tech/1617367084/

185 名前:デフォルトの名無しさん mailto:sage [2021/07/06(火) 18:08:31.76 ID:8bcWgGBz.net]
人は陰謀論が大好きなんですよ

186 名前:デフォルトの名無しさん mailto:sage [2021/07/06(火) 18:15:25.48 ID:nSctAZgU.net]
字句解析と形態素解析や全文検索はまったくの別物だろう

187 名前:デフォルトの名無しさん mailto:sage [2021/07/06(火) 18:16:09.96 ID:t2+Z62DR.net]
陰謀論とかじゃなくて、壊したい相手に不利なようにするのがアメリカ流なんだよ。
卑怯な手口だが、卑怯という概念にはあの国には無いのだろう。
あの国の連中は、ことごとくそういう手口で生き残っているから、そのうち
技術の進歩が遅れてある時、がさっと負けだすかも知れないな、GAFAMも含めて。

188 名前:デフォルトの名無しさん mailto:sage [2021/07/06(火) 18:17:03.75 ID:t2+Z62DR.net]
>>183
形態素解析などに入る前に、例えば、C++をcppと同一視してしまえばいいんだ。

189 名前:デフォルトの名無しさん mailto:sage [2021/07/06(火) 18:20:48.86 ID:M25Qh6q2.net]
簡単に直せる
(計算量が増えたり既存機能に影響を与えたりするかもしれないけど)

ってことでしょ

190 名前:デフォルトの名無しさん mailto:sage [2021/07/06(火) 19:17:37.60 ID:luG13vJj.net]
>>186
それを簡単と呼ぶのは研究とかラボの人間よね。

191 名前:デフォルトの名無しさん mailto:sage [2021/07/06(火) 20:35:47.80 ID:5M+Sovmm.net]
字句解析と形態素解析の違いもわからないのはちょっと…

192 名前:デフォルトの名無しさん mailto:sage [2021/07/06(火) 23:19:32.02 ID:cmRSsVyO.net]
まーたrustと関係ない話してる

193 名前:デフォルトの名無しさん mailto:sage [2021/07/06(火) 23:35:07.67 ID:qUsPK4G4.net]
「また」って言うけど「いつも」の間違いだろ?



194 名前:デフォルトの名無しさん mailto:sage [2021/07/07(水) 08:37:56.63 ID:ICcjc0w9.net]
>>184
で、c++を壊してtwitterにどんなメリットが?アホなの?

195 名前:デフォルトの名無しさん mailto:sage [2021/07/07(水) 10:14:36.36 ID:ifayQQT8.net]
アホだと分かってるなら構うなよ

196 名前:デフォルトの名無しさん mailto:sage [2021/07/07(水) 10:38:37.05 ID:fRD7zTM6.net]
https://lore.kernel.org/lkml/20210704202756.29107-1-ojeda@kernel.org/
panic問題は大部分解決されたみたい

197 名前:デフォルトの名無しさん mailto:sage [2021/07/08(木) 01:55:46.25 ID:qbgAaMCH.net]
そういうのは形態素解析したあと、同義語辞書(シソーラス)で単語を正規化する作業になる。
形態素解析の段階で記号は除去しないとややこしくなるから記号入りの単語を使うのが悪いわな。

198 名前:デフォルトの名無しさん mailto:sage [2021/07/09(金) 19:08:10.80 ID:XWrdIq9z.net]
ハッカーが使わない言語は流行らない。メモリ安全だけじゃ一部需要のみ

楽しい言語も流行らない。いつも趣味レベルの言語で終わる

199 名前:デフォルトの名無しさん mailto:sage [2021/07/09(金) 19:58:26.11 ID:/dpK029q.net]
ハッカーって言葉久々に聞いた

200 名前:デフォルトの名無しさん mailto:sage [2021/07/09(金) 20:07:52.69 ID:vKrZ9ebb.net]
自分のこと賢いと思ってそう

201 名前:デフォルトの名無しさん mailto:sage [2021/07/09(金) 21:36:56.44 ID:6sMTa3MH.net]
流行で選ぶってアフィチューバーやアフィブロガーかな?

202 名前:デフォルトの名無しさん [2021/07/10(土) 06:29:54.67 ID:XPpA1ojF.net]
一通り学習したつもりになったから、WebAPIで情報取得するプログラムでもいざ書いてみようと思ったら・・・・
いきなりreqwestのクレートでasync/awaitの壁があったぜ
これThe Bookのキーワードの項目にはあるものの、本編で出てきたっけ???
https://doc.rust-lang.org/book/appendix-01-keywords.html
ちょっと適当に書いてみた感じ、他言語と違ってawaitしたところでアンラップされないのかな・・・・・?全然わからん
これって何を見たら学習できるの?

203 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 07:10:52.64 ID:hr5Pc4AR.net]
これでいいんじゃない?
https://rust-lang.github.io/async-book/01_gettin



204 名前:g_started/01_chapter.html []
[ここ壊れてます]

205 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 08:40:15.75 ID:FBIqRA7j.net]
reqwest::blocking使えば?

206 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 09:30:24.80 ID:GKhTMPF2.net]
ぼこぼこDLしてウザ過ぎる

207 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 09:31:26.47 ID:GKhTMPF2.net]
x.py build したあと、x.py install したら、

また意味不明にボコボコビルドし始めたんだけど、


知恵遅れなの?

208 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 09:47:05.85 ID:4hsXIyfP.net]
そういう所は今後改善して欲しいわな

209 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 13:41:38.31 ID:e+Cu97LZ.net]
>>195
面白い観点だな。
楽しい言語も流行らないか・・・、なんか考えさせられる。

210 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 13:52:24.60 ID:aG/WAOkt.net]
>>199
ureq 使えよ

211 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 14:01:01.07 ID:4hsXIyfP.net]
ハッカー専用の言語ってあるの?

212 名前:デフォルトの名無しさん [2021/07/10(土) 14:20:32.32 ID:hyh546Qk.net]
prolog

213 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 14:25:24.27 ID:jayrPH8y.net]
いつまで miri のトラブルを放置しておくの?

ゴミ言語



214 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 14:28:17.22 ID:a84ckjUx.net]
ハッカーって・・・なに?

215 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 14:44:49.05 ID:e+Cu97LZ.net]
unsafeモードが使えても、safeモードでのコード生成結果が予測できないのであれば
使うのは難しい。

216 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 14:53:04.04 ID:SrgkCeWe.net]
無駄な通信と監視と役立たずのゴミでツリーを汚すゴミ

217 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 16:15:47.34 ID:9b6+aeFV.net]
ハッカーは書くスピードと実行時間が重要だからnimとかが向いてそう
少なくともRustは絶対にハッカーの第一言語にならない

218 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 16:53:00.70 ID:zdV39cNV.net]
お前がそう思うんならそういうことでいいよ

219 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 17:38:05.35 ID:nAGZi/ZP.net]
ハッカーとか呼んでねえからキーボードでもしゃぶってろ

220 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 17:43:28.58 ID:IKbPFXW0.net]
最強言語議論スレでやれ

221 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 17:56:33.98 ID:wJrCg/wx.net]
犯罪者用言語とか使いたくないなあ

222 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 01:09:10.02 ID:MzFRAytS.net]
ハッカー != 犯罪者 がモダンな解釈だと思うんだが。
○にかけのお爺さんかな?

223 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 02:27:33.50 ID:0Hcxwo3i.net]
ロシア人ハッカーグループって言ったら
犯罪者っぽくね?



224 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 02:54:13.69 ID:6/u0+cwV.net]
イスラエル人ハッカーグループって言うと
なにか巨大な国際政治がらみの陰謀っぽい

225 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 03:33:22.44 ID:PFbpUEa3.net]
日本人ハッカーグループ
よわそう

226 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 03:47:16.72 ID:OgOa7vqd.net]
日本は、一人当りのGDPだと先進30カ国中最下位レベルだけど、純粋な頭脳線だと、
三位以内に入ることが良くある。

227 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 09:25:42.31 ID:Z2zeAI0N.net]
純粋な頭脳線

228 名前:デフォルトの名無しさん [2021/07/11(日) 09:54:14.29 ID:HGkeQify.net]
>>199
Rustはasync/awaitを言語レベルでゼロコストでサポートする代わりに非同期ランタイムを別途用意する必要がある
これによりRustでは様々な非同期ランタイムを言語と独立に自由に作ることができる
例えば非同期ランタイムを自作することも当然できてfuturesクレイトをその部品として使うことができる

もちろん非同期ランタイムを自作せずとも既に様々なコミュニティから提供されているのでそれを使うこともできる
具体的には例えば最も使われているtokioなどのチュートリアルを見るのが良いかな
https://tokio.rs/tokio/tutorial

229 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 11:06:14.34 ID:MzFRAytS.net]
>>219-220
その考え方が古い。(というか最初から?)間違ってる。

ハッカー == 凄い奴 的な意図でしかないので
ロシアだろうがイスラエルだろうが某大陸だろうが
超エリートなんだろうなとしか思わない(事になってる)。
犯罪者はクラッカーと言って区別される(事になってる)。

区別しようと言い出したのは…(ry

230 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 12:38:13.92 ID:8RaHq8wW.net]
でも発端の>>195の「ハッカー」はホワイトかブラックかは知らんがセキュリティ関連の話ちゃうんか?

231 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 12:47:21.47 ID:sDQUZcY3.net]
>>225
モダンな解釈だと良いハッカー=ホワイトハッカー 悪いハッカー=ハッカーですね
あと老人ホームから抜け出してまで5chなんてしたら家族に迷惑かかりますよ
迷惑かけない内に尊厳死をおすすめします

232 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 12:48:22.75 ID:BdwgI/w3.net]
そんな高度な話だったんだ
小学生がうんこちんちんって罵倒してるようなものだと理解していた

233 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 15:23:07.49 ID:MzFRAytS.net]
>>227
> 悪いハッカー=ハッカー
では無いよ、と書いてる事が理解できないかな?

>>227 がどう思おうがどうでも良いけど
話が通じないことがある事くらいは理解しといた方が
身のためだぞ。

ttps://ja.m.wikipedia.org/wiki/ハッカー
迷惑かけない内に勉強し直す事お勧めておきます。



234 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 15:31:18.36 ID:lbKLD5N+.net]
相変わらずマウンター専用言語になっとるな

235 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 15:34:34.85 ID:HtoAUPrm.net]
正しい定義がどうだろうと>>195の意図なんかわからんのでどうでもいいうんこちんちん

236 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 16:25:58.47 ID:SRU4khSo.net]
仕様や実装のマイナーな機能を使って人を驚かせるのがハッカーだ、と思ってるのでは
Cのポインタ祭りとかLISPのマクロ生成マクロとかを好むのだ、と

237 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 16:31:55.44 ID:rINaUnOH.net]
クソどうでもいい

238 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 16:37:35.60 ID:8jG+0fGV.net]
ハッカーの定義はどうでも良いからせめてrustの何がダメかを語れよ

239 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 16:47:25.03 ID:0Hcxwo3i.net]
rustは文字列の扱いに難があるなあ
sjisのコンテンツとかマルチバイトのファイル名(WinだとUTF16?)の扱い方がよくわからん

240 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 16:48:48.06 ID:lbKLD5N+.net]
Non-Lexical Lifetimes が制御フローレベルなので実装をデバッグできるやつがほとんどいない。
c++と同じレベルの複雑さを有するようになってきている。
cargoのビルドシステムがあまりに強制的すぎる。
メモリを直接いじる必要のある効率的なアルゴリズムでは結局unsafeになる。
メモリ最適化の許す範囲があまりに非自明でcから呼ぶのは不安定すぎる。

241 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 17:06:54.98 ID:vvFM5IKu.net]
コンテナ類が実際にどのように格納されているかが分からないと言うのは、
それをunsafeで扱うのが難しくなってる。
どこでコピーが生じて、どこがmoveなのかも分かりにくいことがあるし。

242 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 17:08:44.89 ID:vvFM5IKu.net]
ライフタイムもちゃんと仕様が書いてないから、手探り状態で試さないといけないし
プログラムするのに時間が掛かる。
色々やっても結局、C/C++のような効率のよい方法を取ることは不可能な場合もあるし。

243 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 17:30:39.23 ID:QonYN50D.net]
素晴らしい言語ですね
カニかわいい



244 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 18:42:50.97 ID:0Hcxwo3i.net]
ときどき、Javaの検査例外みたいなやらかし感を感じる
厳密にしすぎると却って使いづらいみたいな

245 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 19:53:14.68 ID:8jG+0fGV.net]
Box<dyn Error>やanyhowやeyreを使えば良いのでは

246 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 21:00:56.13 ID:lZiRxAj0.net]
>>235
Windows 系以外のすべての言語は、UTF-8

だから、MSYS/MinGW でも、UTF-8以外でバグるので、
UTF-8以外を使っちゃいけない!

唯一バグらないのは、WSL。
Windows Terminal, VSCode のRemote WSL などで、

ls /mnt/c/Users/Owner/Documents/
と入力すると、日本語のフォルダ名も、正しく表示される

出力



たぶん、Windowsが変換しているのだろう

247 名前:242 mailto:sage [2021/07/11(日) 21:05:19.71 ID:lZiRxAj0.net]
WSL は一種のチート

ハイパーバイザーでLinux を起動して、
Linux側から、Windows側のドライブを見た時に、

UTF-8 以外の言語をUTF-8に変換する

まあ、漏れの推測だけど

248 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 21:46:26.10 ID:0Hcxwo3i.net]
>>242
そこに文句言われてもねー
要件に文句を付けるのはフェアじゃない

現実にUTF16でネーミングされたファイルがあって、
それにどう対応するかって話なんだけど

249 名前:242 mailto:sage [2021/07/11(日) 22:51:28.82 ID:lZiRxAj0.net]
だから、プログラマーの基本は、Windows 系など、UTF-8 以外を使わない事!
この大原則を守っていない人は、システムを作れない

システムには、ascii しか使えない!
これが大原則

250 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 22:51:54.52 ID:3favf/XH.net]
>>244
WinならOsStringのエンコーディングは普通にUTF-16だから何の問題もないと思うが
sjis扱いたいならencoding-rsとか
結局何に困ってるのかわからないと何とも言いようがない

251 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 22:52:47.14 ID:g6LNT/Hh.net]
Ruby外耳に構うなよ

252 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 00:42:25.80 ID:Hp3EIfPo.net]
じつはわしはRustはやったことなかったのだが、
これまでの経験上おそらく >>236 みたいな感じだろうなと想像してたら
ほんとうにそのとおりでワロタw
アホみたいに「安全ドグマ」に縛られるとたいがいそうなる

253 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 01:08:52.63 ID:hS+nIw/n.net]
>>245
プログラマーの基本! とか システムを作れない(キリッ とか言われても
既存のシステムがそうなってるんだという話
「システムには、ascii しか使えない!」とか言ったら、客に帰れと言われるだけ

>>246
sjisファイルを読み込みたい
でもチュートリアルにあるようにBufReaderは使えない
そりゃ読み込んだ後、変換処理したら何でもありでしょ
でも、ネイティブに処理できん?と思う
むしろ安全性にこだわる割に文字に対するこの雑さは何なの?と



254 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 01:27:11.82 ID:j3ZM+094.net]
論理的な問題点以前に、言語として見た目的な美しさも無いし、記述が
簡潔でもなければ直感的でもなく、無駄に長くなる。

255 名前:242 mailto:sage [2021/07/12(月) 01:50:03.57 ID:7a0iIKMk.net]
システムには、ascii しか使わないのは、Linux の基本

AWS でも、そう。
半角空白もバグるから、使わない

必ず、客から注意される。
日本語のファイル名・半角空白を使わないでと。
バグるから

例えば、5ch は、sjis だからバグだらけ。
; を書いていないのに、文字列の後ろに、; が付いてるとか

sjisとか、Windows以外では、どうしようもない

256 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 02:01:17.96 ID:uNcygyrG.net]
encoding-rsつかいにくい

257 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 02:17:50.78 ID:MXdX1Uu3.net]
>>249
バイト列としてVec<u8>に読んじゃえば後はCと一緒じゃん
それともlocaleとwchar_tフル活用したいという話?

258 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 02:37:38.72 ID:hS+nIw/n.net]
>>253
それでcrlfでsplitしろって?
なんて原始的な…

259 名前:デフォルトの名無しさん [2021/07/12(月) 0 ]
[ここ壊れてます]

260 名前:3:41:51.48 ID:3p3WQ9hU.net mailto: UTF-8(とchar用のUTF-32)以外滅んでほしいが、過去の遺産がそれに対応してないという現実的な問題...
まぁencoding_rsってクレート使って変換してやればヨシ
[]
[ここ壊れてます]

261 名前:242 mailto:sage [2021/07/12(月) 04:00:29.19 ID:7a0iIKMk.net]
>>242
に書いたみたいに、

sjis, UTF-16 などのWindows 用言語で、
唯一バグらないのは、WSL だけ

WSL でLinux側から、Windows側のドライブを見た時だけ、
日本語のファイル名を正常に変換できる

Windows Terminal, VSCode のRemote WSL などで使える

ひょっとして、Windows用言語を扱っていて、WSLを使っていないの?

262 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 09:20:21.53 ID:fBGbiQ8q.net]
>>249
変換せずに扱いたいのか?いまいちよくわからんが、既存の言語で理想的なやつってどれ?
Rustは文字列に関しては最もちゃんとしてる方だと思うけど

263 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 09:26:54.48 ID:fBGbiQ8q.net]
あ、あとascii/WSLおじさんは気にしなくていいと思うよ
少なくともRustにそんな制限はない
Cとかだとasciiに限定したい気持ちもわからなくはないけど



264 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 09:39:13.23 ID:cIYVT4Ba.net]
・ファイルシステム上のエンコーディング
・OSのAPIのエンコーディング
・言語のAPIのエンコーディング
・言語の文字列のエンコーディング
それぞれ独立だし変換しあってることをおじさんは理解していないと見える

265 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 09:40:16.32 ID:cIYVT4Ba.net]
最後2つは基本的に同じだけど

266 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 09:56:37.25 ID:Jwa42/D9.net]
>>255
でもUTF8は「ひらがな」ですら3バイトになるので困る。

267 名前:デフォルトの名無しさん [2021/07/12(月) 11:12:15.24 ID:k3eDnaJZ.net]
>>256
へー WSL って言語だったんだωωω

268 名前:デフォルトの名無しさん [2021/07/12(月) 11:13:38.78 ID:k3eDnaJZ.net]
>>260
違うよ

269 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 11:24:40.84 ID:hS+nIw/n.net]
>>257
どれが理想的というか、rustは特にめんどい気がした
fgetsが出来ればそれでいいんだが

270 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 12:42:05.71 ID:4jaglyfV.net]
>>261
最近だと何に困った?

271 名前:デフォルトの名無しさん [2021/07/12(月) 12:58:50.09 ID:Yne+2tk7.net]
>>249
sjisを変換せずそのまま内部表現として標準的に扱うプログラミング言語って具体的に何?

もちろん全ての言語でバイト配列としては扱えるけどsjisにとってそれは無意味であり
先頭から全読みしないとsjisの1バイト目か2バイト目かすらわからない欠陥sjis仕様のためsjisそのまま使うことはないよね

仮に入力も出力もsjisなら内部表現もsjisのままにしてsjis処理関数いっぱい
書くのも見合うケースがあるかもしれないけど
入出力の片方がsjisでないならば他との変換必ず必要だから内部表現をsjisにこだわる意味はないよね

一方で内部表現として処理を無条件に簡単にしようとするとUTF32で1文字32bitにするしかないけど常にUTF32強制ではメモリが無駄すぎる
そこでメモリ上だけでなくファイルもネット通信も無駄を避けるためにUTF8を用いる
という当たり前の帰結になりRustもそうだけどこれの何が不満なの?

272 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 13:37:26.66 ID:hS+nIw/n.net]
>>266
いや、内部表現なんてどうだっていいんだって
utf8以外のテキストを使うとResult<Error>でぶっ飛ばされるのが面倒なの

273 名前:デフォルトの名無しさん [2021/07/12(月) 13:41:52.17 ID:Yne+2tk7.net]
>>267
それはUTF8文字列として扱う関数を使うからそうなる
普通に生バイト列として扱う関数を呼べばよい
このへんは多くのプログラミング言語で同じ話



274 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 13:45:10.21 ID:XKWfaP9x.net]
>>264
fgetsで良いって言うなら単にVec<u8>で読むだけだと思うけど
エラー処理が面倒というならとりあえずunwrapしてればいいし
そういうので文字数がかさむのが嫌だというなら、Rustは合ってないんじゃないかな
Rustは基本的にソースコード上にいろいろ明記したい言語なので

275 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 14:07:37.33 ID:hS+nIw/n.net]
>>269
それって行の切り出し(改行までのsplit)って自分で書かなきゃだめ?

276 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 14:14:18.06 ID:XKWfaP9x.net]
>>270
それは書かないといけないね
たぶんRustが好きな人は「fgetsだと何が改行コードとして想定されてるのか分からなくて不安」
って人が多いんじゃないかな
実際Linux環境でCR改行のファイルをfgetsするとどうなるのかよく分からんし
そういうふうに処理系がうまくやってくれることを期待するならGoとかもほうが合っているかも

277 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 14:16:40.71 ID:4WArcuIG.net]
splitすればいいだけじゃなくて?

278 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 14:18:27.57 ID:hS+nIw/n.net]
うーん、Windowsでsjisファイル読み込むのってそんなにニッチなのか……

>>271
>たぶんRustが好きな人は「fgetsだと何が改行コードとして想定されてるのか分からなくて不安」
>って人が多いんじゃないかな

BufReaderがあるので、それはないかと

279 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 14:29:03.08 ID:XKWfaP9x.net]
>>273
read_lineはLF区切りって決まってるからそんなに気にならないけどな
fgetsはプラットフォーム依存じゃなかったっけ?
もう忘れてしまったけど

280 名前:デフォルトの名無しさん [2021/07/12(月) 14:30:57.94 ID:7o0jLcLl.net]
これはRustの問題ではない
例えばスクリプト言語であるJavaScriptでもsjisファイルを読み込むにはNodeでも標準サポートはない
だから生バッファに読み込んで次にそのsjisを内部へ変換するという手順となる
いずれにせよ文字コード変換の一行が余分に入るだけでありどの言語でも大した問題ではない

281 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 14:31:19.34 ID:hS+nIw/n.net]
>>272
うん、それはそうなんだ>splitすればいい

でも、なんでこんなにしつこく聞いたかっていうと
最近の言語にこんな基本的な機能ないわけないだろ?と思ったからなんだ

確かに自分で書いたって大した処理じゃない
でも、一人ひとりがそんな原始的なコード書いてるの?
ありえない 標準で用意しとけやって

282 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 14:35:03.79 ID:hS+nIw/n.net]
>>275
文字コード変換だけなら文句は言わない
昔からMulitbyteToWideCharを噛ませるぐらいのことはやってたからね

283 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 14:40:47.93 ID:XKWfaP9x.net]
最近の言語としては標準ライブラリが小さいというのはあるね
代わりに外部ライブラリをたくさん使うという方針
今のケースならこれかな
https://crates.io/crates/bytelines



284 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 14:48:08.10 ID:hS+nIw/n.net]
>>278

おおっ! これ良さそうだね!
試してみる! サンキュー

285 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 14:48:41.98 ID:hUBiSSyU.net]
要はバイナリのsplitがあればいいんだろ
まあニッチだし標準には入りにくいだろうな






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<300KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef