公式
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/
※Rustを学ぶ際に犯しがちな12の過ち
https://dystroy.org/blog/how-not-to-learn-rust
※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/
※C++との比較は専用スレへ
C++ vs Rust
https://mevius.5ch.net/test/read.cgi/tech/1619219089/
※次スレは原則>>980が立てること
前スレ
Rust part13
https://mevius.5ch.net/test/read.cgi/tech/1636247099/
Rust part14
■ このスレッドは過去ログ倉庫に格納されています
2022/02/12(土) 01:24:16.59ID:XYE+Rws6
467デフォルトの名無しさん
2022/03/13(日) 17:06:55.70ID:fVzSesSr スレの終わりに切り替えて結構すんなりワッチョイスレに移行できたスレ多いよ。途中でもうまくいくかはよくわからん。
何れにせよ、スレが機能してないよりは過疎のほうがマシだな
何れにせよ、スレが機能してないよりは過疎のほうがマシだな
468デフォルトの名無しさん
2022/03/13(日) 17:17:53.93ID:SbmrJ+bY 変化が多い言語でデファクトも定まってないし、ワッチョイ付けてもたぶん過疎らないと思うけどな
469デフォルトの名無しさん
2022/03/13(日) 17:27:03.14ID:vwVaodxg そもそもみんなまともにrustの話をしたいのに
おじさんが関係ない自演で横から茶々入れるから
みんなめんどくさくなっていなくなるのよ
その自覚はある?
おじさんが関係ない自演で横から茶々入れるから
みんなめんどくさくなっていなくなるのよ
その自覚はある?
470デフォルトの名無しさん
2022/03/13(日) 17:37:09.51ID:5bV//KSp ワッチョイスレはもうあるぞ
ここからさらにワッチョイスレ作っても分岐して打ち捨てられたワッチョイスレが増えていくだから先にこっち消費してくれ
https://mevius.5ch.net/test/read.cgi/tech/1532697692/
ここからさらにワッチョイスレ作っても分岐して打ち捨てられたワッチョイスレが増えていくだから先にこっち消費してくれ
https://mevius.5ch.net/test/read.cgi/tech/1532697692/
471デフォルトの名無しさん
2022/03/13(日) 17:47:33.76ID:e39Fa4ck >>465
質問者?issueで質問者って何の話してんだよw
全部読んで少なくともその中にないことを証明するんだぞw
どこを読んでそう書いてあったのかすらないのでは、証明にはならないw
約 567,000 件あるけどなw
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
質問者?issueで質問者って何の話してんだよw
全部読んで少なくともその中にないことを証明するんだぞw
どこを読んでそう書いてあったのかすらないのでは、証明にはならないw
約 567,000 件あるけどなw
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
472デフォルトの名無しさん
2022/03/13(日) 17:50:57.99ID:spUFJg1H 今回のやつはずっと同じIDの上に
文面から即NGできるにもかかわらずしつこく構ったやつらが悪い
反省しろ
文面から即NGできるにもかかわらずしつこく構ったやつらが悪い
反省しろ
473デフォルトの名無しさん
2022/03/13(日) 18:17:55.15ID:vwVaodxg かつて自治厨と言われた俺の手腕を発揮してやるよ
最近はそこまでの情熱は無くなったが去年あたりからrust始めたからまともに議論したいのよ
最近はそこまでの情熱は無くなったが去年あたりからrust始めたからまともに議論したいのよ
474デフォルトの名無しさん
2022/03/13(日) 18:37:10.97ID:YWz/r5zq 荒らされるよりは過疎るほうがマシ
ワッチョイひとつでこの手合はピターッと来なくなるから
ワッチョイひとつでこの手合はピターッと来なくなるから
475デフォルトの名無しさん
2022/03/13(日) 18:40:27.18ID:ZJiz2Azs そう思うならさっさとワッチョイスレ立てればいいじゃん
なんでやらないの?
なんでやらないの?
476デフォルトの名無しさん
2022/03/13(日) 18:42:49.11ID:8lssQzCw477デフォルトの名無しさん
2022/03/13(日) 18:50:17.44ID:jvwFmcnZ 使ってないスレを再使用するのはスレを無駄にしないという点では有意なんだけど、勢いもスレ順も変だから人はあんまり来ないのよね。で、何も知らずに来た人が荒らしにかまってしまう。
何れにせよ15がワッチョイ無しというのはありえない選択肢。
何れにせよ15がワッチョイ無しというのはありえない選択肢。
478デフォルトの名無しさん
2022/03/13(日) 19:25:23.33ID:8lssQzCw >>477
ここはワッチョイ無しRustスレの系統
だからここの次スレはワッチョイ無しで確定している
ワッチョイ有りRustスレは立てられても放置されるという歴史がある
再び放置スレを増やすようなことをしてはいけない
以下に現存するワッチョイ有りRustスレがある
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
Rust part6【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1532697692/
ここはワッチョイ無しRustスレの系統
だからここの次スレはワッチョイ無しで確定している
ワッチョイ有りRustスレは立てられても放置されるという歴史がある
再び放置スレを増やすようなことをしてはいけない
以下に現存するワッチョイ有りRustスレがある
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
Rust part6【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1532697692/
479デフォルトの名無しさん
2022/03/13(日) 19:30:16.97ID:T4XYjYgx 自分たちが他スレ嵐てんのに自分たちにワッチョイ付ける訳ない。己のやってることを顧みろ
480デフォルトの名無しさん
2022/03/13(日) 19:30:24.22ID:5bV//KSp481デフォルトの名無しさん
2022/03/13(日) 19:33:25.71ID:fVzSesSr >>478
歴史と言いながらサンプル少ないっすね
歴史と言いながらサンプル少ないっすね
482デフォルトの名無しさん
2022/03/13(日) 19:35:38.48ID:5bV//KSp 「荒らされるよりは過疎るほうがマシ」って言いながらこのスレに書き込んでワッチョイpart6使ってないのってどういうことなの
483デフォルトの名無しさん
2022/03/13(日) 19:38:33.24ID:5nlTHbBf そんなにワッチョイが嫌なんだね。じゃあ次スレはワッチョイ有りにしよう。別にデメリット殆ど無いし。
484デフォルトの名無しさん
2022/03/13(日) 19:39:58.52ID:5bV//KSp それ語尾wがワッチョイなし立ててそっちが盛り上がって使われないワッチョイpart15が打ち捨てられる未来しか見えない
485デフォルトの名無しさん
2022/03/13(日) 19:41:14.03ID:8lssQzCw486デフォルトの名無しさん
2022/03/13(日) 19:42:49.67ID:mAN4eGML >>484
フェアでいいじゃない。やってみようよ
フェアでいいじゃない。やってみようよ
487デフォルトの名無しさん
2022/03/13(日) 19:43:29.58ID:5bV//KSp >>486
やってみてもいいけどワッチョイなしが過疎ったら責任とって埋めろよ
やってみてもいいけどワッチョイなしが過疎ったら責任とって埋めろよ
488デフォルトの名無しさん
2022/03/13(日) 19:45:38.16ID:5bV//KSp >>487
ワッチョイなしじゃなくてワッチョイありざ過疎ったらの間違い
ワッチョイなしじゃなくてワッチョイありざ過疎ったらの間違い
489デフォルトの名無しさん
2022/03/13(日) 19:53:00.16ID:hJwK9XXb490デフォルトの名無しさん
2022/03/13(日) 19:59:09.05ID:8lssQzCw491デフォルトの名無しさん
2022/03/13(日) 20:25:42.25ID:vwVaodxg よしでは方針を発表しよう
そのワッチョイありスレはおじさんが謎にageてるから
いまだに存在しているものと認識している
つまり既に侵食済みなので捨てる
Part15からワッチョイありスレとして継続していく
異論がなければこれで行く
そのワッチョイありスレはおじさんが謎にageてるから
いまだに存在しているものと認識している
つまり既に侵食済みなので捨てる
Part15からワッチョイありスレとして継続していく
異論がなければこれで行く
492デフォルトの名無しさん
2022/03/13(日) 20:39:16.20ID:5bV//KSp 確かによく見たら4は腐ってるな
でも6は使えるだろ。使ってくれ
でも6は使えるだろ。使ってくれ
493デフォルトの名無しさん
2022/03/13(日) 20:40:29.94ID:fVzSesSr >>491
それで行こう
それで行こう
494デフォルトの名無しさん
2022/03/13(日) 20:41:14.82ID:aISbrcWr それはワッチョイに効果がないことを示してるだけでは
報復のような行動や分断を産む議論は思う壺だと思う
黙ってNGに放り込めばいい
報復のような行動や分断を産む議論は思う壺だと思う
黙ってNGに放り込めばいい
495デフォルトの名無しさん
2022/03/13(日) 20:55:14.52ID:xFLia2nf そもそもワッチョイにデメリットは無くてメリットだけなんだからカジュアルに入れればいいじゃん。
一人だけ急にここはワッチョイ無しスレの系譜なんて言い出した人もいるけど。そんな系譜無いし。
一人だけ急にここはワッチョイ無しスレの系譜なんて言い出した人もいるけど。そんな系譜無いし。
496デフォルトの名無しさん
2022/03/13(日) 20:58:11.86ID:5bV//KSp デメリットはどうせ分裂してワッチョイ15という過疎放置スレが無駄に出来ることだけなので、そうなった時にちゃんと埋めてくれるならなんのデメリットもない
497デフォルトの名無しさん
2022/03/13(日) 21:04:18.91ID:r2YIM0KL ワッチョイ必要だと思うならごちゃごちゃ言わずにさっさと自分で立てろよ
スレ立てくらい出来るだろ
スレ立てくらい出来るだろ
498デフォルトの名無しさん
2022/03/13(日) 21:19:00.22ID:d8CKnCLn ワッチョイだから過疎ったんじゃなくてスレを複数作ったから過疎ったってことよ
スレを使い分けようって時点で問題児だらけデース!ってアピールしてるよ
今回のunsafeおじさんが暴れてた頃に誰もワッチョイスレに誘導しなかったところを見ると、存在すら忘れてたんじゃないか?
https://mevius.5ch.net/test/read.cgi/tech/1532697692
↑火種になりそうな人、話題は全部ワッチョイに誘導しようね。火種に触る人もワッチョイに行こうね
スレを使い分けようって時点で問題児だらけデース!ってアピールしてるよ
今回のunsafeおじさんが暴れてた頃に誰もワッチョイスレに誘導しなかったところを見ると、存在すら忘れてたんじゃないか?
https://mevius.5ch.net/test/read.cgi/tech/1532697692
↑火種になりそうな人、話題は全部ワッチョイに誘導しようね。火種に触る人もワッチョイに行こうね
499デフォルトの名無しさん
2022/03/13(日) 21:35:47.25ID:zl9/rhni タイトルが同じだと数字が小さいスレに人がよりつかないのは当然なので
質スレと議論スレにでも分割して議論スレをワッチョイスレとして新たに始めればいいんじゃない?
議論したいってことみたいだから
誰も立てないからここ2回連続してスレ立てたけど
立てたらワッチョイガーとか繰り返し言われるのはさすがに腹が立つよ
問題は荒らしを相手にしてる人たちなのに
質スレと議論スレにでも分割して議論スレをワッチョイスレとして新たに始めればいいんじゃない?
議論したいってことみたいだから
誰も立てないからここ2回連続してスレ立てたけど
立てたらワッチョイガーとか繰り返し言われるのはさすがに腹が立つよ
問題は荒らしを相手にしてる人たちなのに
500デフォルトの名無しさん
2022/03/13(日) 21:48:32.41ID:YWz/r5zq ま、次スレからワッチョイでいいやん
荒らし目的の人はサヨナラしてくれていいやん
スレがノイズまみれになるのは目が滑ってしんどい
荒らし目的の人はサヨナラしてくれていいやん
スレがノイズまみれになるのは目が滑ってしんどい
501デフォルトの名無しさん
2022/03/13(日) 21:51:18.28ID:SWhadnJY 強引な変更には断固反対
少なくとも現状のワッチョイなしのスレも残すべき
少なくとも現状のワッチョイなしのスレも残すべき
502デフォルトの名無しさん
2022/03/13(日) 21:54:24.52ID:uiuqSAPk503デフォルトの名無しさん
2022/03/13(日) 22:12:56.56ID:e39Fa4ck 別にワッチョイにしたかったら両方作ればええやんw
俺は両方に反応するからw
ワッチョイなら一週間はNG設定変えなくていいんじゃないのw
ただ被るやついても俺のせいにするなよw
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
俺は両方に反応するからw
ワッチョイなら一週間はNG設定変えなくていいんじゃないのw
ただ被るやついても俺のせいにするなよw
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
504デフォルトの名無しさん
2022/03/13(日) 22:14:37.13ID:R0s3zSYd 荒らしてるのはGoの連中だろ。
報復するべし。
報復するべし。
505デフォルトの名無しさん
2022/03/13(日) 22:16:30.17ID:a+zStt5O この程度の勢いのスレではそう簡単にワッチョイ被らない
506デフォルトの名無しさん
2022/03/13(日) 22:19:11.42ID:e39Fa4ck いや・・・前1日で4人被ってたぞ俺にw 割と人の多い地域で割と大手のプロバイダだから被りやすいんだw
まあ俺は言ったからなw
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
まあ俺は言ったからなw
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
507デフォルトの名無しさん
2022/03/13(日) 22:24:37.54ID:E9xpRPLy どうでもええよ
今後もワッチョイの無いスレに書き込むし
スレが無ければワッチョイ無しで立てるから
今後もワッチョイの無いスレに書き込むし
スレが無ければワッチョイ無しで立てるから
508デフォルトの名無しさん
2022/03/13(日) 22:49:01.50ID:ZP0/YH7Q ワッチョイスレの方が過疎化して完走できないことになると誰でも予想できる
509デフォルトの名無しさん
2022/03/14(月) 01:57:42.50ID:o6mZm6k9 rustならわっちょいつける方がらしくはあるな。言語思想がそういう感じだし。
510デフォルトの名無しさん
2022/03/14(月) 06:10:44.25ID:0o62jolj たし蟹
511デフォルトの名無しさん
2022/03/14(月) 07:47:11.82ID:6Z6ouTmU Linux環境のrustでkbhit関数(キーイベントの取得)ってありますでしょうか?
コンソールアプリ(ゲーム)を作ときに使用しようと思ってまして
コンソールアプリ(ゲーム)を作ときに使用しようと思ってまして
512デフォルトの名無しさん
2022/03/14(月) 08:02:53.43ID:fAU8x8Os 真面目な質問はワッチョイありに書き込んでワッチョイ無しスレから誘導すればいいよ。
ワッチョイ無しスレは過疎らないし、ワッチョイスレは荒らしNGできるし文句言うやつは荒らし以外おるまい。
スレの再利用もできるしな。
ワッチョイ無しスレは過疎らないし、ワッチョイスレは荒らしNGできるし文句言うやつは荒らし以外おるまい。
スレの再利用もできるしな。
513デフォルトの名無しさん
2022/03/14(月) 11:19:45.82ID:ptWJKaRn https://tech.aptpod.co.jp/entry/2021/12/03/070000
これとかそれっぽい?
でもcratesはそれっぽい名前の奴ほど放置ライブラリという特長があるから正直調べ方がわからん
これとかそれっぽい?
でもcratesはそれっぽい名前の奴ほど放置ライブラリという特長があるから正直調べ方がわからん
514デフォルトの名無しさん
2022/03/14(月) 12:57:45.51ID:KdHvJNkw515デフォルトの名無しさん
2022/03/14(月) 13:19:49.96ID:qGkzd/mK あ、そうか。コンソールアプリか。じゃあcrosstermでいいのかも
https://docs.rs/crossterm/0.5.5/crossterm/enum.KeyEvent.html
https://docs.rs/crossterm/0.5.5/crossterm/enum.KeyEvent.html
516デフォルトの名無しさん
2022/03/14(月) 13:24:17.18ID:2R75ztaH kbihitぽいのなら自分はtermion使ってます。
https://github.com/redox-os/termion/blob/master/examples/keys.rs
https://github.com/redox-os/termion/blob/master/examples/keys.rs
517デフォルトの名無しさん
2022/03/14(月) 16:56:04.09ID:U570WKgz # 俺様はcrosstermに一票w
cargo install cargo-edit cargo-geiger
cargo new crossterm_example
cd crossterm_example
cargo add crossterm
cat >src/main.rs <<EOF
use std::time::Duration;
use crossterm::event::{poll, read, Event, KeyCode};
use crossterm::terminal::{enable_raw_mode, disable_raw_mode};
use std::io::Error;
fn main() -> Result<(), Error> {
enable_raw_mode()?;
loop {
if poll(Duration::from_millis(1_000))? {
let event = read()?;
println!("Event::{:?}\r", event);
if event == Event::Key(KeyCode::Esc.into()) {
break;
}
} else {
println!(".\r");
}
}
disable_raw_mode()
}
EOF
cargo build
cargo run
cargo geiger
# Run cargo-geiger!
# 💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
cargo install cargo-edit cargo-geiger
cargo new crossterm_example
cd crossterm_example
cargo add crossterm
cat >src/main.rs <<EOF
use std::time::Duration;
use crossterm::event::{poll, read, Event, KeyCode};
use crossterm::terminal::{enable_raw_mode, disable_raw_mode};
use std::io::Error;
fn main() -> Result<(), Error> {
enable_raw_mode()?;
loop {
if poll(Duration::from_millis(1_000))? {
let event = read()?;
println!("Event::{:?}\r", event);
if event == Event::Key(KeyCode::Esc.into()) {
break;
}
} else {
println!(".\r");
}
}
disable_raw_mode()
}
EOF
cargo build
cargo run
cargo geiger
# Run cargo-geiger!
# 💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
518デフォルトの名無しさん
2022/03/14(月) 23:31:15.69ID:zZd4y2TR >>511
Rustで書いてもstdinへの設定自体は他の言語の時と全く同じ
以下C言語風でRust的に書けるnixクレート使用
まずstdinがエコーされたり改行まで入力されないのを解除
let mut stdin = stdin();
let mut termios = tcgetattr(stdin.as_raw_fd())?;
termios.local_flags &= !(LocalFlags::ECHO | LocalFlags::ICANON);
tcsetattr(stdin.as_raw_fd(), SetArg::TCSANOW, &termios)?;
これでstdin.read()で1文字ずつ入力キーを得られる
次に入力がない時にブロックされないように設定
let mode = fcntl(stdin.as_raw_fd(), FcntlArg::F_GETFL)?;
let mode = OFlag::from_bits_truncate(mode);
fcntl(stdin.as_raw_fd(), FcntlArg::F_SETFL(mode | OFlag::O_NONBLOCK))?;
これで入力がなくてもstdin.read()がすぐに返ってくる
あとは自分の好きな仕様で例えば
let mut input = [0; 1];
let code = match stdin.read(&mut input) {
Ok(_) => Some(input[0]),
Err(ref err) if err.kind() == ErrorKind::WouldBlock => None,
Err(err) => Err(err)?,
};
これで入力ASCIIコードがOptionで得られる
他にも例えば非同期とチャネルを使ってインタフェースを洗練して
ノンブロッキングにせずともread()とチャネルへのsend()を繰り返す
というキー入力専用の非同期タスクを作って
使う側ではチャネルからpoll_recv()で入力があるか見るとか
あるいはそもそも入力なしという状態を得る必要がないならば
その非同期タスクでread()がある度に指定クロージャを呼び出すなど
Rustで書いてもstdinへの設定自体は他の言語の時と全く同じ
以下C言語風でRust的に書けるnixクレート使用
まずstdinがエコーされたり改行まで入力されないのを解除
let mut stdin = stdin();
let mut termios = tcgetattr(stdin.as_raw_fd())?;
termios.local_flags &= !(LocalFlags::ECHO | LocalFlags::ICANON);
tcsetattr(stdin.as_raw_fd(), SetArg::TCSANOW, &termios)?;
これでstdin.read()で1文字ずつ入力キーを得られる
次に入力がない時にブロックされないように設定
let mode = fcntl(stdin.as_raw_fd(), FcntlArg::F_GETFL)?;
let mode = OFlag::from_bits_truncate(mode);
fcntl(stdin.as_raw_fd(), FcntlArg::F_SETFL(mode | OFlag::O_NONBLOCK))?;
これで入力がなくてもstdin.read()がすぐに返ってくる
あとは自分の好きな仕様で例えば
let mut input = [0; 1];
let code = match stdin.read(&mut input) {
Ok(_) => Some(input[0]),
Err(ref err) if err.kind() == ErrorKind::WouldBlock => None,
Err(err) => Err(err)?,
};
これで入力ASCIIコードがOptionで得られる
他にも例えば非同期とチャネルを使ってインタフェースを洗練して
ノンブロッキングにせずともread()とチャネルへのsend()を繰り返す
というキー入力専用の非同期タスクを作って
使う側ではチャネルからpoll_recv()で入力があるか見るとか
あるいはそもそも入力なしという状態を得る必要がないならば
その非同期タスクでread()がある度に指定クロージャを呼び出すなど
519デフォルトの名無しさん
2022/03/14(月) 23:33:12.59ID:zZd4y2TR ちなみにstdinからのASCIIコード取得では不満で
もっとrawレベルのイベントが欲しいならば
libevdevをRustで扱えるevdev-rsを使う
もっとrawレベルのイベントが欲しいならば
libevdevをRustで扱えるevdev-rsを使う
520デフォルトの名無しさん
2022/03/16(水) 14:04:08.44ID:shSPVxo8 turbo rustはまだですか?
521デフォルトの名無しさん
2022/03/17(木) 08:28:29.04ID:H9cH52GC regex crateの問題って
外部ユーザー入力の正規表現をパースして使っていた時に
めっちゃ複雑な正規表現だとDoS攻撃になっちゃう恐れがあったという話か
外部ユーザー入力の正規表現をパースして使っていた時に
めっちゃ複雑な正規表現だとDoS攻撃になっちゃう恐れがあったという話か
522デフォルトの名無しさん
2022/03/17(木) 22:36:27.41ID:IHLBrgoM よほどのことがない限り
外部のユーザに正規表現を入力してもらうケースは無さそうだよな
外部のユーザに正規表現を入力してもらうケースは無さそうだよな
523デフォルトの名無しさん
2022/03/17(木) 23:20:48.15ID:Eu4GzPZT >>521
rustのregexってNFAベースなんだっけ?
rustのregexってNFAベースなんだっけ?
524デフォルトの名無しさん
2022/03/18(金) 12:37:25.55ID:B5OelSHS iteratorのメソッドのnthってどういう意味?なんかの略?
525デフォルトの名無しさん
2022/03/18(金) 12:41:29.69ID:slshVm4c 1st, 2nd 3rd, 4th, 5th, 6th, ..., Nth ←コレw
# Run cargo-geiger!
# 💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
# Run cargo-geiger!
# 💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
526デフォルトの名無しさん
2022/03/18(金) 13:17:22.26ID:2Ztz8OnF 4th, 5th, 6th.....
527デフォルトの名無しさん
2022/03/18(金) 13:55:50.66ID:B5OelSHS いやいやいやいやいやいやいやいやいやいや
うそやろ?だまされないぞ!( `・ω・´)
うそやろ?だまされないぞ!( `・ω・´)
528デフォルトの名無しさん
2022/03/18(金) 14:22:27.69ID:2Ztz8OnF 起源は何かなEmacs Lispにもあるし相当古そう
(nth N LIST)
Return the Nth element of LIST. N counts from zero. If LIST is not that long, nil is returned.
(nth N LIST)
Return the Nth element of LIST. N counts from zero. If LIST is not that long, nil is returned.
529デフォルトの名無しさん
2022/03/18(金) 14:29:42.95ID:7XcvYw+s 色んな言語で使われている
Lispでnthはリストのn番目を返す
C++でstd::nth_elementはn番目を基準とする並べ替え
CSSで:nth-child()はn番目を選択
など
Lispでnthはリストのn番目を返す
C++でstd::nth_elementはn番目を基準とする並べ替え
CSSで:nth-child()はn番目を選択
など
530デフォルトの名無しさん
2022/03/18(金) 14:33:37.94ID:F1TvbrVr nthの起源はプログラミングじゃなくて数学かなー
数学用語としてOxford Dictionaryとかにも掲載されてる
https://www.lexico.com/en/definition/nth
数学用語としてOxford Dictionaryとかにも掲載されてる
https://www.lexico.com/en/definition/nth
531デフォルトの名無しさん
2022/03/18(金) 14:37:03.84ID:F1TvbrVr と思ったけど、辞書の意味とはちょっと違うかな・・・
532デフォルトの名無しさん
2022/03/18(金) 15:51:11.43ID:B5OelSHS nthでもgetでもいいけど、添え字で取得するのは無理なんだよね?
533デフォルトの名無しさん
2022/03/18(金) 15:55:18.13ID:rmmV0EJL 定数時間でアクセスできないものに添え字を使うのは紛らわしいからやってないのでは
あとイテレータの場合nextが&mut selfを要求するのでIndexは実装できないし
IndexMutを実装するにしても0..n番目の要素をconsumeするから添え字のセマンティクスに合わないと思う
あとイテレータの場合nextが&mut selfを要求するのでIndexは実装できないし
IndexMutを実装するにしても0..n番目の要素をconsumeするから添え字のセマンティクスに合わないと思う
534デフォルトの名無しさん
2022/03/18(金) 15:57:14.32ID:d7SFtIuN コストが高かったり危険だったりするものは字面の上でも目立って欲しいしな。
535デフォルトの名無しさん
2022/03/18(金) 16:12:59.80ID:slshVm4c iteratorは原則順次アクセスだから、原則ランダムアクセスな添字は一般的ではないw
何でも聞いてしまう子は想像力がやや不足しているw
# Run cargo-geiger!
# 💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
何でも聞いてしまう子は想像力がやや不足しているw
# Run cargo-geiger!
# 💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
536デフォルトの名無しさん
2022/03/18(金) 16:13:55.18ID:d7SFtIuN >>527
arity (アリティ; 引数の個数) も unary とか binary の -ary を名詞化したものダゾ
arity (アリティ; 引数の個数) も unary とか binary の -ary を名詞化したものダゾ
537デフォルトの名無しさん
2022/03/18(金) 16:22:51.49ID:8ZTH26QZ >>532
自由に添え字でアクセスしたい時はcollect()する
もちろんcollectはその分のコストがかかるけど他の言語では常にそのコストを強制されてるのだから
もし必要ならばRustでもそのコストを払えばよい
自由に添え字でアクセスしたい時はcollect()する
もちろんcollectはその分のコストがかかるけど他の言語では常にそのコストを強制されてるのだから
もし必要ならばRustでもそのコストを払えばよい
538デフォルトの名無しさん
2022/03/18(金) 17:17:28.19ID:rmmV0EJL >>532
昔は RandomAccessIterator があったけど unstable のまま rust 1.2.0 で deprecate されたみたい
https://doc.rust-lang.org/1.3.0/std/iter/trait.RandomAccessIterator.html
> trait has not proven itself as a widely useful abstraction for iterators, and more time may be needed for iteration on the design
C++やDには random access iterator はあるけど、 rust では今のところ必要ないという判断みたい
昔は RandomAccessIterator があったけど unstable のまま rust 1.2.0 で deprecate されたみたい
https://doc.rust-lang.org/1.3.0/std/iter/trait.RandomAccessIterator.html
> trait has not proven itself as a widely useful abstraction for iterators, and more time may be needed for iteration on the design
C++やDには random access iterator はあるけど、 rust では今のところ必要ないという判断みたい
539デフォルトの名無しさん
2022/03/18(金) 17:40:43.61ID:RcRFkS5N540デフォルトの名無しさん
2022/03/18(金) 18:26:51.78ID:rmmV0EJL >>539
RandomAccessIteratorはslice::Iterなどランダムアクセスできるイテレーターに実装されてるトレイトなのでメモ化のコスト云々は関係ないよ
RandomAccessIteratorはslice::Iterなどランダムアクセスできるイテレーターに実装されてるトレイトなのでメモ化のコスト云々は関係ないよ
541デフォルトの名無しさん
2022/03/18(金) 22:57:59.74ID:l4s3ZEj8542デフォルトの名無しさん
2022/03/19(土) 00:16:53.31ID:Ul4y/GRp ある型 T がトレイト A とトレイト B を実装していることという制約はたとえば以下のように書けますが、
struct Foo<T: A + B> {
state: T
}
ここで T がトレイト C を実装して「いない」という制約を付ける (C を実装していたらコンパイルエラーにする) 方法はありますか?
struct Foo<T: A + B> {
state: T
}
ここで T がトレイト C を実装して「いない」という制約を付ける (C を実装していたらコンパイルエラーにする) 方法はありますか?
543デフォルトの名無しさん
2022/03/19(土) 01:34:14.63ID:Ksx+z9b2 なさそう
544デフォルトの名無しさん
2022/03/19(土) 10:14:06.85ID:Ul4y/GRp 直接的にトレイトが実装されていないことを指定することは出来ないようですが
optin_builtin_traits を使えば表現は出来そうですね。
Rust ユーザー向けのドキュメントが見つからないんですがこれって stable なんですかね?
optin_builtin_traits を使えば表現は出来そうですね。
Rust ユーザー向けのドキュメントが見つからないんですがこれって stable なんですかね?
545デフォルトの名無しさん
2022/03/19(土) 14:36:55.65ID:KmQbL+gm まだこうだな
#![feature(negative_impls)]
#![feature(auto_traits)]
#![feature(negative_impls)]
#![feature(auto_traits)]
546デフォルトの名無しさん
2022/03/19(土) 19:35:20.82ID:mtaqaIpW 始めたばっかでよくわかんないんだけど、https://docs.rsって公式か何かのまともなサイトなの?
10進数の小数が使いたくてhttps://docs.rs/rust_decimal/latest/rust_decimal/#これ見てたんだけど、sourceってところ押したらよくわからんものが表示されてしまう・・・・
10進数の小数が使いたくてhttps://docs.rs/rust_decimal/latest/rust_decimal/#これ見てたんだけど、sourceってところ押したらよくわからんものが表示されてしまう・・・・
547デフォルトの名無しさん
2022/03/19(土) 20:51:08.52ID:jYZm0dN8 >>546
https://www.rust-lang.org/governance/teams/dev-tools#docs-rs
ここにあるとおりrustの開発元でメンテされてる
よくわからんものがどんなものなのかよくわからないけど、マクロやderiveで生成されたコードのソースは変な場所が表示されることはあるかも
https://www.rust-lang.org/governance/teams/dev-tools#docs-rs
ここにあるとおりrustの開発元でメンテされてる
よくわからんものがどんなものなのかよくわからないけど、マクロやderiveで生成されたコードのソースは変な場所が表示されることはあるかも
548デフォルトの名無しさん
2022/03/20(日) 01:49:46.57ID:oj1vR2vz docs.rsは公式サイトだけど内容はオープンソースで登録されたソースコード(コメント)から
機械的に生成してるだけだからちゃんとしてるとは限らない
sourceは生成元のソースコードのリンクになってて説明が分からんかったらソース読めってスタンス
機械的に生成してるだけだからちゃんとしてるとは限らない
sourceは生成元のソースコードのリンクになってて説明が分からんかったらソース読めってスタンス
549デフォルトの名無しさん
2022/03/28(月) 17:41:10.51ID:T53tBXly 始めたばっかでよくわかんないんだけど、ちょっとコードを書いただけで.unwrap()だらけになってしまう
もう、3行に1つは.unwrap()、ひどいと1行に3箇所ぐらい.unwap()だ
素人目に見ても流石におかしいように見えるも、解決法がよくわからないぜ
もう、3行に1つは.unwrap()、ひどいと1行に3箇所ぐらい.unwap()だ
素人目に見ても流石におかしいように見えるも、解決法がよくわからないぜ
550デフォルトの名無しさん
2022/03/28(月) 17:42:54.07ID:T53tBXly .unwrap()ってさっきまで沢山打ってたのに、1箇所打ち間違ったぜ
551デフォルトの名無しさん
2022/03/28(月) 18:04:16.18ID:4U9zlcIi まずはif let試してみたら?
if let Ok(v) = r {v使ったほにゃらら}
if let Some(v) = o {v使ったほにゃらら}
if let Ok(v) = r {v使ったほにゃらら}
if let Some(v) = o {v使ったほにゃらら}
552デフォルトの名無しさん
2022/03/28(月) 18:35:07.91ID:GscKI9M9 >>549
エラーなどの分岐が発生しうる時に
必ず正常値だと確信できる場合、もしくは、正常値でなければpanic終了してよい場合に
unwrap()を用いる
逆に言えば上記の場合でなければ
unwrap()を用いてはいけない
エラーなどの有無による分岐処理が必要とされている場面なのだから
if letやmatchや?オペレータ(=エラー時に即return)を用いなければならない
エラーなどの分岐が発生しうる時に
必ず正常値だと確信できる場合、もしくは、正常値でなければpanic終了してよい場合に
unwrap()を用いる
逆に言えば上記の場合でなければ
unwrap()を用いてはいけない
エラーなどの有無による分岐処理が必要とされている場面なのだから
if letやmatchや?オペレータ(=エラー時に即return)を用いなければならない
553デフォルトの名無しさん
2022/03/28(月) 18:50:10.35ID:2Ad/srHw >>549
そのコードを晒せば識者が添削してくれるんじゃね?
そのコードを晒せば識者が添削してくれるんじゃね?
554デフォルトの名無しさん
2022/03/28(月) 18:52:11.66ID:3OxWqSrL rustでCのライブラリラップしてるけどまじでわからんこと起こりまくってて泣きそう
構造体に保持したはずのハンドラが不可解なタイミングで消えてつらい
Cにも疎いからしんどすぎる
構造体に保持したはずのハンドラが不可解なタイミングで消えてつらい
Cにも疎いからしんどすぎる
555デフォルトの名無しさん
2022/03/28(月) 20:40:56.66ID:BmyJew6n >>554
それはさすがにCでのメモリ管理とRustでのメモリ管理とそれらの違いを把握できていることが最低条件
それはさすがにCでのメモリ管理とRustでのメモリ管理とそれらの違いを把握できていることが最低条件
556デフォルトの名無しさん
2022/03/28(月) 23:00:56.50ID:51Y1Thh9 このスレに識者がいるという錯覚wwww
# Run cargo-geiger!
# 💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
# Run cargo-geiger!
# 💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
557デフォルトの名無しさん
2022/03/28(月) 23:06:14.30ID:labVp7ij558デフォルトの名無しさん
2022/03/28(月) 23:21:53.41ID:ie9Ayk2m559デフォルトの名無しさん
2022/03/29(火) 08:06:04.87ID:mWQ/GdlN >>555
ラップ用のライブラリて無いの?
ラップ用のライブラリて無いの?
560デフォルトの名無しさん
2022/03/29(火) 10:43:23.37ID:4onO4vig >>559
うまくラッピングしてあってもCライブラリの内部の参照とかのあたりがうまくRustの所有権システムに乗らなくてしんどいことが多々あるから仕方ないことな気がする
うまくラッピングしてあってもCライブラリの内部の参照とかのあたりがうまくRustの所有権システムに乗らなくてしんどいことが多々あるから仕方ないことな気がする
561デフォルトの名無しさん
2022/03/29(火) 13:05:38.54ID:jPLnZtHI ハンドラのトラブルで思い浮かぶのはDropで解放する機能を実装したのにCopy可能になってるケースかな
数値型で表現される場合が多いからCopy不可の型で包まないとCopy先で解放されたりして事故りやすい
基本的にDropトレイトとCopyトレイトを混ぜるのはNG
数値型で表現される場合が多いからCopy不可の型で包まないとCopy先で解放されたりして事故りやすい
基本的にDropトレイトとCopyトレイトを混ぜるのはNG
562デフォルトの名無しさん
2022/03/29(火) 22:26:38.54ID:2xBc8fyd >>561
CopyとDropの両立は出来なくなっているのでその問題は発生しない
https://doc.rust-lang.org/std/ops/trait.Drop.html#copy-and-drop-are-exclusive
| [Copy and Drop are exclusive]
| You cannot implement both Copy and Drop on the same type.
CopyとDropの両立は出来なくなっているのでその問題は発生しない
https://doc.rust-lang.org/std/ops/trait.Drop.html#copy-and-drop-are-exclusive
| [Copy and Drop are exclusive]
| You cannot implement both Copy and Drop on the same type.
563デフォルトの名無しさん
2022/03/29(火) 22:49:23.99ID:zunmlMTL564デフォルトの名無しさん
2022/04/03(日) 01:32:58.40ID:1As0eesQ https://github.com/diesel-rs/diesel/blob/v1.4.4/examples/postgres/getting_started_step_1/src/schema.rs
(https://diesel.rs/guides/getting-started.htmlの一部分)
このアロー演算子みたいなのが並んでいる部分って、どういう意味の文法なんですか?
一見してセッターかクロージャーなのかと思いきや、全然違うようで!?・・・・これは一体何なんですか????
(https://diesel.rs/guides/getting-started.htmlの一部分)
このアロー演算子みたいなのが並んでいる部分って、どういう意味の文法なんですか?
一見してセッターかクロージャーなのかと思いきや、全然違うようで!?・・・・これは一体何なんですか????
565デフォルトの名無しさん
2022/04/03(日) 01:41:18.67ID:9lFqLTmO >>564
マクロの呼び出し
マクロの呼び出し
566デフォルトの名無しさん
2022/04/03(日) 02:40:58.52ID:1As0eesQ■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 首相官邸前で「戦争あおるな」 台湾有事巡る答弁に抗議 [蚤の市★]
- 高市首相告白「『なめられない服』を選ぶことに数時間を費やしました」「外交交渉でマウント取れる服、買わなくてはいかんかもなぁ」 [ぐれ★]
- 【高市リスク】立民・小西洋之参院議員「高市総理がとんでもない安全保障オンチで外交オンチ」 [ぐれ★]
- 『DOWNTOWN+』会員数50万人突破で見えてきた 松本人志の“月収4ケタ万円”驚愕収入 [阿弥陀ヶ峰★]
- 【赤坂ライブハウス刺傷】逃走していた自衛官の男(43)を殺人未遂の疑いで逮捕 警視庁 被害女性とは知人関係 [Ailuropoda melanoleuca★]
- 【フジ】13年ぶり復活「クイズ$ミリオネア」元日放送決定 挑戦者に菊池風磨&ムロツヨシ、みのもんたさん版傑作選もOA [征夷大将軍★]
- 夜勤終わり風呂なう
- 桃香さん!!
- 【悲報】東京都民さん、20過ぎてるのに自転車に乗っててて大炎上wwwwwwwwwwww女「いい歳した男で自転車に乗るのは知的障がい者だけだよ? [483447288]
- 【悲報】「全国の独身男性2000万人に年間120万円の独身税をかけるだけで農家を守って米の値段を半分にできるんだよ」8万高市 [257926174]
- 習近平や王毅などの中共幹部、「高市答弁」に関していまだ一切言及なし。すまんこっから何が起きるの? [271912485]
- 【悲報】ミスター東大さん、高度な『ずらし』を披露するも愚民には理解されず大炎上wwwwwwwwwwww [455031798]
