公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
公式ドキュメント
https://www.rust-lang.org/learn
Web上の実行環境
https://play.rust-lang.org
※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/
※次スレは原則>>980が立てること
前スレ
Rust part26
https://mevius.5ch.net/test/read.cgi/tech/1726838318/
ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
探検
Rust part27
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2024/12/02(月) 22:32:50.31ID:D+1pIyvG543デフォルトの名無しさん
2025/03/15(土) 11:46:45.42ID:ub1zWmmn >>541
その180度逆の視点で見れば制約になるのは当たり前だがそんな視点でプログラミングは行われない
「トレイト境界」により「制約された」とは考えることはなく
「(制限されてる状態から)使える機能が増えた」と考える
その180度逆の視点で見れば制約になるのは当たり前だがそんな視点でプログラミングは行われない
「トレイト境界」により「制約された」とは考えることはなく
「(制限されてる状態から)使える機能が増えた」と考える
544デフォルトの名無しさん
2025/03/15(土) 11:50:54.00ID:ub1zWmmn >>542
その通り
視点によって両方が起こる
だからそこ「トレイト制約」ではなく「トレイト境界」が正しい
各トレイト境界により線引きされて境界が定まるだけ
それにより使える機能が増えて便利になることがプログラミングの本質
制約されて不便になったとは考えない
その通り
視点によって両方が起こる
だからそこ「トレイト制約」ではなく「トレイト境界」が正しい
各トレイト境界により線引きされて境界が定まるだけ
それにより使える機能が増えて便利になることがプログラミングの本質
制約されて不便になったとは考えない
545デフォルトの名無しさん
2025/03/15(土) 11:54:54.99ID:M+mqoQUv >>543
脱線になるが自由度の意味が判ってない
三角形なら基礎的なルール(三つの角度を合わせると180度など)守っていれば辺の長さや角度は自由に設定できる 自由度が高い
二等辺三角形は二辺の長さが同じと言う制約がありその他にも角度が制限される 自由度が低い
二等辺三角形は自由度が低いがそのために角度などを利用して他の隣接した線分などとの角度が確定できるようになる
自由度は減っているが他から見ると利用価値がただの三角形から上がってる
脱線になるが自由度の意味が判ってない
三角形なら基礎的なルール(三つの角度を合わせると180度など)守っていれば辺の長さや角度は自由に設定できる 自由度が高い
二等辺三角形は二辺の長さが同じと言う制約がありその他にも角度が制限される 自由度が低い
二等辺三角形は自由度が低いがそのために角度などを利用して他の隣接した線分などとの角度が確定できるようになる
自由度は減っているが他から見ると利用価値がただの三角形から上がってる
546デフォルトの名無しさん
2025/03/15(土) 11:57:50.75ID:5IRcwf8/ 制限なしの型パラメータを制限してるだけでしょ
<T> ←制限ナシ
<T: Eq> ←Eqで制限
<T: Copy> ←Copyで制限
<T: Eq + Copy> ←Eq+Copyで制限
制約って言ってる人の感覚のほうが俺も近い
(型パラメータの型を)制約ってことでしょ
> 使える機能が増えて便利になることがプログラミングの本質
そんな主張生まれて初めて目にしたわ正直w
<T> ←制限ナシ
<T: Eq> ←Eqで制限
<T: Copy> ←Copyで制限
<T: Eq + Copy> ←Eq+Copyで制限
制約って言ってる人の感覚のほうが俺も近い
(型パラメータの型を)制約ってことでしょ
> 使える機能が増えて便利になることがプログラミングの本質
そんな主張生まれて初めて目にしたわ正直w
547デフォルトの名無しさん
2025/03/15(土) 12:03:05.22ID:M+mqoQUv 自由度すら理解できないなんて
この人いつもの長文でおかしなRust擁護書いてる人かな?
この人いつもの長文でおかしなRust擁護書いてる人かな?
548デフォルトの名無しさん
2025/03/15(土) 12:04:44.44ID:ub1zWmmn >>546
その真逆の不自然な視点を取ることももちろん可能だが
普通はこちらの視点
<T> ←(Any以外)何もできず制限最大
<T: Eq> ←Eqが使えるようになる
<T: Copy> ←Copyが使えるようになる
<T: Eq + Copy> ←EqもCopyも使えるようになる
制約を増やしているのではなく
機能を増やしている
だからトレイト制約なんていうバカな呼び方を採用しない
その真逆の不自然な視点を取ることももちろん可能だが
普通はこちらの視点
<T> ←(Any以外)何もできず制限最大
<T: Eq> ←Eqが使えるようになる
<T: Copy> ←Copyが使えるようになる
<T: Eq + Copy> ←EqもCopyも使えるようになる
制約を増やしているのではなく
機能を増やしている
だからトレイト制約なんていうバカな呼び方を採用しない
549デフォルトの名無しさん
2025/03/15(土) 12:07:05.48ID:qQFYiVQo >>523
そう思うならトレイト視界を使ってくれ
そう思うならトレイト視界を使ってくれ
550デフォルトの名無しさん
2025/03/15(土) 12:10:13.35ID:ub1zWmmn551デフォルトの名無しさん
2025/03/15(土) 12:10:26.25ID:5IRcwf8/ 型を制限してるんよね
機能がどうのこうのの以前にね
これって理解するの難しいのかなあ
機能がどうのこうのの以前にね
これって理解するの難しいのかなあ
552デフォルトの名無しさん
2025/03/15(土) 12:13:27.59ID:ub1zWmmn553デフォルトの名無しさん
2025/03/15(土) 12:16:19.89ID:ub1zWmmn554デフォルトの名無しさん
2025/03/15(土) 12:16:42.56ID:M+mqoQUv >>548
vec<T>
vec<T>:where T Eq
vec<T>:where T:Copy
vec<T>:where Eq + Copy
自由度が高いvecはどれ?トレイト境界で自由度が増えるなんて馬鹿はいない
vec<T>
vec<T>:where T Eq
vec<T>:where T:Copy
vec<T>:where Eq + Copy
自由度が高いvecはどれ?トレイト境界で自由度が増えるなんて馬鹿はいない
555デフォルトの名無しさん
2025/03/15(土) 12:23:05.50ID:ub1zWmmn >>554
二つの視点を理解できた?
さらにその問題ならVecの視点とTの視点でさらに二つ分かれる
もちろんトレイト境界はTに対するものだからTの視点が普通人の視点
トレイト境界が何もなければTに対して何もできないから一番不自由な状態
二つの視点を理解できた?
さらにその問題ならVecの視点とTの視点でさらに二つ分かれる
もちろんトレイト境界はTに対するものだからTの視点が普通人の視点
トレイト境界が何もなければTに対して何もできないから一番不自由な状態
556デフォルトの名無しさん
2025/03/15(土) 12:24:50.62ID:E7lv2JsK 「自己責任」の語源という噂もあるIT界隈ってやっぱ最先端なんだな
自由と制約
性善説と性悪説
なんでもITで定義できる
自由と制約
性善説と性悪説
なんでもITで定義できる
557デフォルトの名無しさん
2025/03/15(土) 12:24:54.00ID:5IRcwf8/ <T: Eq>で考えたとき
「: Eq」はどこにかかってんのか?
「T」でしょ、それ以外ではないでしょ?
で「T]は何かっていうと型でしょ?
この話のどこに「機能」とやらが出てきたの?
片方の視点もなにも、そもそもの話が
「: Eq」はどこにかかってんのか?
「T」でしょ、それ以外ではないでしょ?
で「T]は何かっていうと型でしょ?
この話のどこに「機能」とやらが出てきたの?
片方の視点もなにも、そもそもの話が
558デフォルトの名無しさん
2025/03/15(土) 12:25:47.49ID:M+mqoQUv まだ自由度すら理解できないんだよな
文系プログラマの末路が見える
文系プログラマの末路が見える
559デフォルトの名無しさん
2025/03/15(土) 12:30:10.54ID:MW+uPLNw 「俺の解釈」でなくちゃんと公式の説明を読もう
https://doc.rust-lang.org/reference/trait-bounds.html
https://doc.rust-lang.org/reference/trait-bounds.html
560デフォルトの名無しさん
2025/03/15(土) 12:32:15.55ID:ub1zWmmn >>557
各トレイトは各々の特性という機能を宣言している
Tという型が何をすることができるものかをトレイト境界で指定していく
ちなみに何度も言っているが
Tという抽象型自体の視点ではなくて、Tに入りうる具体型候補の集合という裏の視点で見れば、トレイト境界が制約になることはもちろん理解している
そんな偏った視点で考えるのはおかしいと主張しているだけ
だから「トレイト制約」というアホな用語は絶対に許容しない
各トレイトは各々の特性という機能を宣言している
Tという型が何をすることができるものかをトレイト境界で指定していく
ちなみに何度も言っているが
Tという抽象型自体の視点ではなくて、Tに入りうる具体型候補の集合という裏の視点で見れば、トレイト境界が制約になることはもちろん理解している
そんな偏った視点で考えるのはおかしいと主張しているだけ
だから「トレイト制約」というアホな用語は絶対に許容しない
561デフォルトの名無しさん
2025/03/15(土) 12:34:54.10ID:M+mqoQUv 文系が誤魔化しに来ている
562デフォルトの名無しさん
2025/03/15(土) 12:35:11.48ID:5IRcwf8/ >>559
恥ずかしながらそれ読んだことなかったw
> Trait and lifetime bounds provide a way for generic items to restrict which types and lifetimes are used as their parameters.
> 特性と有効期間の境界は、汎用アイテムがパラメータとして使用される型と有効期間を制限する方法を提供します
はいこれ
型を制限なのです
恥ずかしながらそれ読んだことなかったw
> Trait and lifetime bounds provide a way for generic items to restrict which types and lifetimes are used as their parameters.
> 特性と有効期間の境界は、汎用アイテムがパラメータとして使用される型と有効期間を制限する方法を提供します
はいこれ
型を制限なのです
563デフォルトの名無しさん
2025/03/15(土) 12:41:26.07ID:M+mqoQUv564デフォルトの名無しさん
2025/03/15(土) 12:41:44.05ID:ub1zWmmn 言った通りだろ
T自体ではなくTに入りうる具体型候補の集合で考えればもちろん制限になる
T自体ではなくTに入りうる具体型候補の集合で考えればもちろん制限になる
565デフォルトの名無しさん
2025/03/15(土) 12:43:19.33ID:ub1zWmmn566デフォルトの名無しさん
2025/03/15(土) 12:50:29.91ID:M+mqoQUv トレイト境界 機能:型を制約します
その一方で
「トレイト制約は不自然だ~」
これは無いな
その一方で
「トレイト制約は不自然だ~」
これは無いな
567デフォルトの名無しさん
2025/03/15(土) 12:58:39.76ID:ub1zWmmn568デフォルトの名無しさん
2025/03/15(土) 13:09:12.24ID:MW+uPLNw >>567
bound が「線引き」だとして、例えばRustコンパイラが出す以下のメッセージはどう訳すの?
Error: the trait bound is not satisfied
「制約を満たさない」からエラー、という方が自然じゃない?
bound が「線引き」だとして、例えばRustコンパイラが出す以下のメッセージはどう訳すの?
Error: the trait bound is not satisfied
「制約を満たさない」からエラー、という方が自然じゃない?
569デフォルトの名無しさん
2025/03/15(土) 13:22:26.55ID:ub1zWmmn >>568
文字通りにトレイト境界を満たさないだよ
例えば具体的に Error: the trait bound 'TypeA: TraitB' is not satisfied と指摘される
つまりこのトレイト境界を満たさないとは
TypeAはTraitB(の機能)を実装していない、という意味
文字通りにトレイト境界を満たさないだよ
例えば具体的に Error: the trait bound 'TypeA: TraitB' is not satisfied と指摘される
つまりこのトレイト境界を満たさないとは
TypeAはTraitB(の機能)を実装していない、という意味
570デフォルトの名無しさん
2025/03/15(土) 13:23:13.31ID:MW+uPLNw 「トレイト境界」という言葉が既に用語として認識されている感はあるし、「トレイト境界を満たさない」と書いても実用上は伝わると思うけど
「境界線を満たす」のように、satisfyの目的語が線になることはないと思う
「境界線を満たす」のように、satisfyの目的語が線になることはないと思う
571デフォルトの名無しさん
2025/03/15(土) 13:24:22.65ID:e4F+UdWA トレイトも日本語に訳した方がいいよね
572デフォルトの名無しさん
2025/03/15(土) 13:26:47.33ID:ub1zWmmn573デフォルトの名無しさん
2025/03/15(土) 13:28:22.19ID:qQFYiVQo imple S {}
を全面的に禁止して
imple T for S {}
だけしか使えない環境にするべきだったね
を全面的に禁止して
imple T for S {}
だけしか使えない環境にするべきだったね
574デフォルトの名無しさん
2025/03/15(土) 13:35:57.03ID:ub1zWmmn575デフォルトの名無しさん
2025/03/15(土) 13:38:34.38ID:tBWUFgvS576デフォルトの名無しさん
2025/03/15(土) 13:43:15.55ID:ub1zWmmn577デフォルトの名無しさん
2025/03/15(土) 14:20:09.90ID:E7lv2JsK 二項演算を使いたいだけなのに単位元の定義を強制されるパターンはたまにある
制約がないと言えるのは、使いたい関数の名前とトレイトの名前が同じやつだ
制約がないと言えるのは、使いたい関数の名前とトレイトの名前が同じやつだ
578デフォルトの名無しさん
2025/03/15(土) 14:32:56.25ID:WVXVz4wb なんか伸びてるけどトレイトのようなものは他言語でもよくあるでしょうに
ジェネリックくらいちゃんと理解しとけ
ジェネリックくらいちゃんと理解しとけ
579デフォルトの名無しさん
2025/03/15(土) 14:46:17.14ID:Th8G7jf3 PHPだね
580デフォルトの名無しさん
2025/03/15(土) 14:47:12.31ID:Th8G7jf3 Pythonにはトレイト無いんだよね
581デフォルトの名無しさん
2025/03/15(土) 15:05:58.12ID:5IRcwf8/ >>578
Javaのジェネリクスどうなってるかなって見てみたら
https://docs.oracle.com/javase/tutorial/java/generics/boundedTypeParams.html
> Bounded type parameters are ...
> ..., use a type parameter bounded by the Comparable<T> interface:
Bounded type parametersって呼び方なんだな
Javaのジェネリクスどうなってるかなって見てみたら
https://docs.oracle.com/javase/tutorial/java/generics/boundedTypeParams.html
> Bounded type parameters are ...
> ..., use a type parameter bounded by the Comparable<T> interface:
Bounded type parametersって呼び方なんだな
582デフォルトの名無しさん
2025/03/15(土) 15:11:33.31ID:suA91QDC 制約と言う人達は trait を理解していない
C++03からやり直すべき
C++03からやり直すべき
583デフォルトの名無しさん
2025/03/15(土) 15:19:39.28ID:MW+uPLNw >>582
このスレで出てる話は trait でなく trait bound という言葉についてだぞ
このスレで出てる話は trait でなく trait bound という言葉についてだぞ
584デフォルトの名無しさん
2025/03/15(土) 16:39:04.00ID:HIinARQ8 >>570
日本語では「境界を満たしていません」なんて言い方はしないんだよ
質の悪い機械翻訳以外ではね
現代日本語の「境界」は境界線や境目のことであって境界づけられた範囲や領域を指して「境界」とは言わない
“bound is not satisfied”や”requird by this bound”などからもわかるようにRustを開発してる中の人も明らかに制約面を重視してboundsという用語を使っている
それだけじゃなくtrait boundsはジェネリックの型パラメーターの型制約の一種
ジェネリックにおける「型制約」という用語はRustに限らずプログラミングの概念として広く定着しているものでRustでももちろん使われている
それらを完全に無視して無理のある「境界」という訳語を当ててこじつけ解釈を続けるメリットは何もない
日本語では「境界を満たしていません」なんて言い方はしないんだよ
質の悪い機械翻訳以外ではね
現代日本語の「境界」は境界線や境目のことであって境界づけられた範囲や領域を指して「境界」とは言わない
“bound is not satisfied”や”requird by this bound”などからもわかるようにRustを開発してる中の人も明らかに制約面を重視してboundsという用語を使っている
それだけじゃなくtrait boundsはジェネリックの型パラメーターの型制約の一種
ジェネリックにおける「型制約」という用語はRustに限らずプログラミングの概念として広く定着しているものでRustでももちろん使われている
それらを完全に無視して無理のある「境界」という訳語を当ててこじつけ解釈を続けるメリットは何もない
585デフォルトの名無しさん
2025/03/15(土) 17:03:40.05ID:suA91QDC bounds に制約という意味はない
586デフォルトの名無しさん
2025/03/15(土) 17:07:19.39ID:suA91QDC trait は特性を表現するのみで
それが何かを制約することはない
trait bounds はある特性の範囲を表現するのみで
それが何かを制約することはない
これで理解しないならお手上げだ
それが何かを制約することはない
trait bounds はある特性の範囲を表現するのみで
それが何かを制約することはない
これで理解しないならお手上げだ
587デフォルトの名無しさん
2025/03/15(土) 17:09:42.34ID:suA91QDC 日本に匙を投げる日は近い
備えよ
備えよ
588デフォルトの名無しさん
2025/03/15(土) 17:13:39.17ID:HIinARQ8 >>496
>boundsに制約なんて意味はない
>trait boundsも、ある一定内の数値や、配列のインデックスなどのbounds checkingと同じく境界が定まる
制約という意味はあるよ
辞書にものってる
制約という訳語がそのまま載ってない辞書でも制限や許容範囲という訳語はあるはず
制限と制約は微妙に違う単語でニュアンスも違うけど状況によっては代わりに使える単語
英語でconstraintとrestrictionを使い分けるのに似てる
type restrictionとtype constraintのどちらが伝えたい意味に近いかという話と同じ
伝えたいニュアンスとは別に「型制約」という概念・用語がかなり昔から広く浸透してることを考えるとトレイト制限とトレイト制約を比べれば後者のほうがより適切と判断するのはごくごく自然なことだと思う
>boundsに制約なんて意味はない
>trait boundsも、ある一定内の数値や、配列のインデックスなどのbounds checkingと同じく境界が定まる
制約という意味はあるよ
辞書にものってる
制約という訳語がそのまま載ってない辞書でも制限や許容範囲という訳語はあるはず
制限と制約は微妙に違う単語でニュアンスも違うけど状況によっては代わりに使える単語
英語でconstraintとrestrictionを使い分けるのに似てる
type restrictionとtype constraintのどちらが伝えたい意味に近いかという話と同じ
伝えたいニュアンスとは別に「型制約」という概念・用語がかなり昔から広く浸透してることを考えるとトレイト制限とトレイト制約を比べれば後者のほうがより適切と判断するのはごくごく自然なことだと思う
589デフォルトの名無しさん
2025/03/15(土) 17:19:50.55ID:HIinARQ8 >>586
>trait bounds はある特性の範囲を表現するのみで
>それが何かを制約することはない
型パラメーターが自由に動ける範囲を制約するもの
そもそもboundsは単純な「範囲」という意味ではなく何かが許された範囲・領域のことで制約・制限的なものが必ずついて回る
>trait bounds はある特性の範囲を表現するのみで
>それが何かを制約することはない
型パラメーターが自由に動ける範囲を制約するもの
そもそもboundsは単純な「範囲」という意味ではなく何かが許された範囲・領域のことで制約・制限的なものが必ずついて回る
590デフォルトの名無しさん
2025/03/15(土) 17:21:45.08ID:tr5ODwiQ 「境界」という言葉のほうを軸にするなら満たす/満たさないではなく越える/越えないと言ったほうが自然かなとは思う。
591デフォルトの名無しさん
2025/03/15(土) 17:25:50.05ID:tr5ODwiQ でも技術用語は不自然なくらいで良いとも思う。
下手に日常用語の意味と合わせると仕様上の意味と日常の意味が混ざって混乱する。
「Rust 用語ではこういうんだよ!」で行くべき。
下手に日常用語の意味と合わせると仕様上の意味と日常の意味が混ざって混乱する。
「Rust 用語ではこういうんだよ!」で行くべき。
592デフォルトの名無しさん
2025/03/15(土) 17:31:37.59ID:aXarc3PA T: Traitは未知の型Tに対して可能(必要)な操作を明示するためのもので
Tの型に制限がかかるのはその結果にすぎないよ
Tの型を制限する目的で境界を設定してるわけではない
これはジェネリクスを含む型とか関数を実装する側になれば分かる
できるだけTの制限が緩くなるように配慮しないといけない
Tの型に制限がかかるのはその結果にすぎないよ
Tの型を制限する目的で境界を設定してるわけではない
これはジェネリクスを含む型とか関数を実装する側になれば分かる
できるだけTの制限が緩くなるように配慮しないといけない
593デフォルトの名無しさん
2025/03/15(土) 17:41:38.03ID:Th8G7jf3 Scala目指すのか。コップ本は挫折したな。共変半平
594デフォルトの名無しさん
2025/03/15(土) 17:44:06.77ID:9va4ZYj7 >>584
boundsに制約の意味はない
何らかが有効な境界や限界を意味し
もしくはその境界線や境界面
もしくはその範囲や領域を意味する
そこに制約(constraints)という発想や概念はない
trait boundsも同様
ある型やサブトレイトに対してそのトレイトが境界となる
敢えて境界(bounds)という単語を用いており
訳語もそのままトレイト境界が望ましい
boundsに制約の意味はない
何らかが有効な境界や限界を意味し
もしくはその境界線や境界面
もしくはその範囲や領域を意味する
そこに制約(constraints)という発想や概念はない
trait boundsも同様
ある型やサブトレイトに対してそのトレイトが境界となる
敢えて境界(bounds)という単語を用いており
訳語もそのままトレイト境界が望ましい
595デフォルトの名無しさん
2025/03/15(土) 17:44:31.55ID:suA91QDC >>588
ANSI C からやり直せ
ANSI C からやり直せ
596デフォルトの名無しさん
2025/03/15(土) 17:57:52.96ID:39/jPfqN cargo test --test-threads=1
でシングルスレッド実行出来るけど
テスト用のプログラムの中からシングルスレッドを強制する方法は?
でシングルスレッド実行出来るけど
テスト用のプログラムの中からシングルスレッドを強制する方法は?
597デフォルトの名無しさん
2025/03/15(土) 17:58:10.60ID:M+mqoQUv 例の爺さんまだ頑張ってるの?
その時間の使ってコードでも書けばいいのに
その時間の使ってコードでも書けばいいのに
598デフォルトの名無しさん
2025/03/15(土) 18:18:31.82ID:AcPGIkeS >>592
リファレンスには制限するためのものだとはっきり書いてあるよ
Trait and lifetime bounds provide a way for generic items to restrict which types and lifetimes are used as their parameters.
https://doc.rust-lang.org/stable/reference/trait-bounds.html
もうこれで終わりかな?
リファレンスには制限するためのものだとはっきり書いてあるよ
Trait and lifetime bounds provide a way for generic items to restrict which types and lifetimes are used as their parameters.
https://doc.rust-lang.org/stable/reference/trait-bounds.html
もうこれで終わりかな?
599デフォルトの名無しさん
2025/03/15(土) 18:27:44.91ID:5IRcwf8/ 1) interfaceは境界
2) traitsはinterfaceに似たようなもの(although with some differences)
3) トレイト境界=頭痛が痛い
https://doc.rust-lang.org/book/ch10-02-traits.html
> Note: Traits are similar to a feature often called interfaces in other languages, although with some differences.
2) traitsはinterfaceに似たようなもの(although with some differences)
3) トレイト境界=頭痛が痛い
https://doc.rust-lang.org/book/ch10-02-traits.html
> Note: Traits are similar to a feature often called interfaces in other languages, although with some differences.
600デフォルトの名無しさん
2025/03/15(土) 18:55:47.88ID:B1sOi1++ トレイト制約に決定したね
ここからは踏み絵フェーズ
正しくトレイト制約と言えない人がリアルでもヤバイ人
際立つ言動はネットだからと思うかも知れないが、Linuxのごたごたで明白になった通りリアルにゴロゴロいる
ここからは踏み絵フェーズ
正しくトレイト制約と言えない人がリアルでもヤバイ人
際立つ言動はネットだからと思うかも知れないが、Linuxのごたごたで明白になった通りリアルにゴロゴロいる
601デフォルトの名無しさん
2025/03/15(土) 19:02:32.24ID:E7lv2JsK 決定も自己責任でいいんだよ自己責任で
決定の権限をコミュニティに握らせるな
決定の権限をコミュニティに握らせるな
602デフォルトの名無しさん
2025/03/15(土) 19:10:23.94ID:LfHENop6 >>601
オライリー「せやからトレイト制約やで」
オライリー「せやからトレイト制約やで」
603デフォルトの名無しさん
2025/03/15(土) 19:16:54.72ID:aXarc3PA >>598
なんか最初のパラグラフだけで「もうこれで終わりかな?」とか言って読むの終わりにしてそう
リファレンスは全部目を通した方がいいと思うけど英語は最初のパラグラフ大事だから判断が難しいな
一応次のパラグラフも載せとく
Bounds on an item must be satisfied when using the item.
When type checking and borrow checking a generic item, the bounds can be used to determine that a trait is implemented for a type.
なんか最初のパラグラフだけで「もうこれで終わりかな?」とか言って読むの終わりにしてそう
リファレンスは全部目を通した方がいいと思うけど英語は最初のパラグラフ大事だから判断が難しいな
一応次のパラグラフも載せとく
Bounds on an item must be satisfied when using the item.
When type checking and borrow checking a generic item, the bounds can be used to determine that a trait is implemented for a type.
604デフォルトの名無しさん
2025/03/15(土) 19:33:16.01ID:M+mqoQUv ライフタイム境界
605デフォルトの名無しさん
2025/03/15(土) 19:38:12.05ID:9va4ZYj7606デフォルトの名無しさん
2025/03/15(土) 19:43:28.14ID:BxnZ1UiZ boundsの意味は英英辞書的にはlimit
https://dictionary.cambridge.org/dictionary/english/bounds
limitの意味は最も大きい量や数値
https://dictionary.cambridge.org/dictionary/english/limit
なので境界でも良くねって思う。
あと制約はないかなぁ。
制限だったらまだわかる。
https://dictionary.cambridge.org/dictionary/english/bounds
limitの意味は最も大きい量や数値
https://dictionary.cambridge.org/dictionary/english/limit
なので境界でも良くねって思う。
あと制約はないかなぁ。
制限だったらまだわかる。
607デフォルトの名無しさん
2025/03/15(土) 19:46:52.98ID:suA91QDC もはやお手上げだ
K&Rからやり直すことをお勧めする
traitを制約に使うことと
traitが制約であることは
全く別なのだ
この説明でもわからんのかな?
テキサスの小学生でもわかりそうなもんだが
K&Rからやり直すことをお勧めする
traitを制約に使うことと
traitが制約であることは
全く別なのだ
この説明でもわからんのかな?
テキサスの小学生でもわかりそうなもんだが
608デフォルトの名無しさん
2025/03/15(土) 19:52:07.05ID:ICPY9sLg 本当だ
ゴロゴロいる
ゴロゴロいる
609デフォルトの名無しさん
2025/03/15(土) 19:52:24.06ID:0G30F5AB >>606
ジェネリックパラメータの取りうる範囲が
trait boundsによって制限されるだけであって
トレイト制限やトレイト制約という表現はおかしい
この違いが重要
trait boundsは
トレイト限界か
トレイト境界なら正しい
トレイト境界で良いと思う
ジェネリックパラメータの取りうる範囲が
trait boundsによって制限されるだけであって
トレイト制限やトレイト制約という表現はおかしい
この違いが重要
trait boundsは
トレイト限界か
トレイト境界なら正しい
トレイト境界で良いと思う
610デフォルトの名無しさん
2025/03/15(土) 19:53:57.66ID:aXarc3PA 制約と誓約なら知ってる
611デフォルトの名無しさん
2025/03/15(土) 20:02:57.98ID:M+mqoQUv 1~2人だけ制約ではないと言い張っている印象
612デフォルトの名無しさん
2025/03/15(土) 20:04:24.77ID:5IRcwf8/613デフォルトの名無しさん
2025/03/15(土) 20:04:51.39ID:M+mqoQUv トレイト境界 機能:型を制約します
ライフタイム境界 機能:コンパイラに寿命を示します
ライフタイム境界 機能:コンパイラに寿命を示します
614デフォルトの名無しさん
2025/03/15(土) 20:06:02.80ID:Th8G7jf3 オライリーで翻訳本出すのかい?
615デフォルトの名無しさん
2025/03/15(土) 20:14:58.66ID:9va4ZYj7616デフォルトの名無しさん
2025/03/15(土) 20:25:08.62ID:BMkcs71n617デフォルトの名無しさん
2025/03/15(土) 20:26:17.47ID:9va4ZYj7618デフォルトの名無しさん
2025/03/15(土) 20:26:33.32ID:BMkcs71n QiitaやZennでも
619デフォルトの名無しさん
2025/03/15(土) 20:27:24.54ID:BMkcs71n >>617
本を見てくれ
本を見てくれ
620デフォルトの名無しさん
2025/03/15(土) 20:30:16.76ID:9va4ZYj7 >>619
どういう根拠が書かれているの?
どういう根拠が書かれているの?
621デフォルトの名無しさん
2025/03/15(土) 20:30:49.53ID:suA91QDC [0、9)という半開区間があったとして
これを数値範囲の制限に使ったとしても
半開区間を制約とは言わない
半開区間で示される数値の範囲を制約に使っただけである
これで理解できるか?
これを数値範囲の制限に使ったとしても
半開区間を制約とは言わない
半開区間で示される数値の範囲を制約に使っただけである
これで理解できるか?
622デフォルトの名無しさん
2025/03/15(土) 20:33:16.68ID:suA91QDC おいおい大丈夫か日本列島?
623デフォルトの名無しさん
2025/03/15(土) 20:33:57.45ID:MW+uPLNw >>621
それは通常 bound と呼ばないものを持ち込んで無理にこじつけてないか?
それは通常 bound と呼ばないものを持ち込んで無理にこじつけてないか?
624デフォルトの名無しさん
2025/03/15(土) 20:35:41.76ID:YJDn0bnr 凡俗法則だっけ?
どうでもいい話題ほど盛り上がるってやつ
どうでもいい話題ほど盛り上がるってやつ
625デフォルトの名無しさん
2025/03/15(土) 20:37:09.22ID:BxnZ1UiZ オライリー教は難儀だなぁ
626デフォルトの名無しさん
2025/03/15(土) 20:38:46.91ID:suA91QDC627デフォルトの名無しさん
2025/03/15(土) 20:39:57.08ID:0G30F5AB trait boundsはそのトレイトによる境界・限界・領域を表している
そこには制約の概念も意味も一切ない
そのtrait boundsによってパラメータの取り得る範囲が制限を受ける
以上の二つの事実を混同して
trait boundsをトレイト制限と呼ぶのはおかしい
ましてやトレイト制約と呼ぶのは論外
そこには制約の概念も意味も一切ない
そのtrait boundsによってパラメータの取り得る範囲が制限を受ける
以上の二つの事実を混同して
trait boundsをトレイト制限と呼ぶのはおかしい
ましてやトレイト制約と呼ぶのは論外
628デフォルトの名無しさん
2025/03/15(土) 20:50:07.53ID:5IRcwf8/ https://github.com/rust-lang-ja/book-ja
ここ見てみたらそもそも最初はTatsuya Kawanoって人がいきなり書いた文章よね?
「トレイト境界」ってのは
それ以前にrustコミュニティでこの用語定義されてるの見たことある?
誰かrustの歴史に詳しい人ー
ここ見てみたらそもそも最初はTatsuya Kawanoって人がいきなり書いた文章よね?
「トレイト境界」ってのは
それ以前にrustコミュニティでこの用語定義されてるの見たことある?
誰かrustの歴史に詳しい人ー
629デフォルトの名無しさん
2025/03/15(土) 21:03:27.05ID:9va4ZYj7 >>628
そのissueで議論されている
・既に多くの人たちがブログetc.の記事でトレイト境界と書いていた
・Scalaでもboundsは境界と訳している
・配列のbounds checkも境界チェック
・制約と訳される場合は英語がconstraint
そのissueで議論されている
・既に多くの人たちがブログetc.の記事でトレイト境界と書いていた
・Scalaでもboundsは境界と訳している
・配列のbounds checkも境界チェック
・制約と訳される場合は英語がconstraint
630デフォルトの名無しさん
2025/03/15(土) 21:06:26.31ID:5IRcwf8/ わかった何がモヤってたのか
CならJIS規格があって用語も定義されてるからそれに倣えばいい
Javaなら開発元がご存命のときに日本語のドキュメントはすでにあったんでそれに倣えばいい
Rustの場合は現時点では規格が無いんよね
規格があったらそれがなんであれ書いてある用語に従うよねみんなが
>>628
それだけ?
CならJIS規格があって用語も定義されてるからそれに倣えばいい
Javaなら開発元がご存命のときに日本語のドキュメントはすでにあったんでそれに倣えばいい
Rustの場合は現時点では規格が無いんよね
規格があったらそれがなんであれ書いてある用語に従うよねみんなが
>>628
それだけ?
631デフォルトの名無しさん
2025/03/15(土) 21:27:59.47ID:E7lv2JsK 規格が重視されなくなったのは多分CPythonがCでライブラリを大量生産した歴史のおかげだ
632デフォルトの名無しさん
2025/03/15(土) 21:31:58.75ID:0G30F5AB trait boundsの概念の理解を間違えて「トレイト制約」だと誤認してしまった人は
>>627で指摘した二つの話を混同している
>>627で指摘した二つの話を混同している
633デフォルトの名無しさん
2025/03/15(土) 21:43:48.49ID:M+mqoQUv おじいちゃんはいつも一人でわあわあ言って泡吹いてるよな
トレイト境界 機能:型を制約します
トレイト境界 機能:型を制約します
634デフォルトの名無しさん
2025/03/15(土) 21:53:08.18ID:BxnZ1UiZ 「型を制約します」って言い回しとして変じゃない?
「型”に”制約を課します」だったらまだ理解はできる。
もっとも制約を課してるわけではないので、この言い回しも適切ではないと思う。
「型”に”制約を課します」だったらまだ理解はできる。
もっとも制約を課してるわけではないので、この言い回しも適切ではないと思う。
635デフォルトの名無しさん
2025/03/15(土) 21:58:09.74ID:Poqgk2wF >>628
そのリポジトリは比較的最近のやつで訳語は過去のを踏襲しただけ
一番最初のTRPL翻訳の該当するPRはおそらくこれかな
https://github.com/rust-lang-ja/the-rust-programming-language-ja/pull/38
そのリポジトリは比較的最近のやつで訳語は過去のを踏襲しただけ
一番最初のTRPL翻訳の該当するPRはおそらくこれかな
https://github.com/rust-lang-ja/the-rust-programming-language-ja/pull/38
636デフォルトの名無しさん
2025/03/15(土) 21:58:24.13ID:M+mqoQUv じゃあ何だったら気に入るんだ?
型を限定しますか?
型を限定しますか?
637デフォルトの名無しさん
2025/03/15(土) 22:09:45.50ID:BxnZ1UiZ 「型の境界を明示する / 明確に示す」とか?
これが適切かどうかはわからんけど。
これが適切かどうかはわからんけど。
638デフォルトの名無しさん
2025/03/15(土) 22:13:14.41ID:tr5ODwiQ639デフォルトの名無しさん
2025/03/15(土) 22:26:10.52ID:5IRcwf8/ >>635
ご丁寧にありがとうございます(>>629さんもあらためてありがとね)
https://qiita.com/_Nnwww/items/529ad0397e4b3a59da67
> ジェネリック関数は'トレイト束縛'と一緒に使えば最高に便利になります
初めて目にしたけど
正直良いやん!って思った
トレイト束縛
最初はこれだったんやね
ご丁寧にありがとうございます(>>629さんもあらためてありがとね)
https://qiita.com/_Nnwww/items/529ad0397e4b3a59da67
> ジェネリック関数は'トレイト束縛'と一緒に使えば最高に便利になります
初めて目にしたけど
正直良いやん!って思った
トレイト束縛
最初はこれだったんやね
640デフォルトの名無しさん
2025/03/15(土) 22:31:03.74ID:E7lv2JsK 倫理的な「殺すな」「盗むな」等に比べて、言語的な規則が実在すると何故そんなに信じているのかが分からない
どっちも存在するか、あるいはどっちも存在しないと考えるのが自然ではないかね
どっちも存在するか、あるいはどっちも存在しないと考えるのが自然ではないかね
641デフォルトの名無しさん
2025/03/15(土) 22:36:16.49ID:tr5ODwiQ >>639
束縛は変数束縛とかで使うニュアンスがすでに定着しているので違和感を持つ人が多いと思う。
束縛は変数束縛とかで使うニュアンスがすでに定着しているので違和感を持つ人が多いと思う。
642デフォルトの名無しさん
2025/03/15(土) 23:01:56.75ID:Poqgk2wF >>639
それ以降も訳語を変えてはどうかという話は何度も出ているけど
結局のところ誰も説得力のある代案を出せなかったからそのままになっている、って感じ
確かrust-jpのslackでもいろいろ議論はあったと記憶しているけど
slackの過去ログは消えたので詳細は分からなくなってしまったね
それ以降も訳語を変えてはどうかという話は何度も出ているけど
結局のところ誰も説得力のある代案を出せなかったからそのままになっている、って感じ
確かrust-jpのslackでもいろいろ議論はあったと記憶しているけど
slackの過去ログは消えたので詳細は分からなくなってしまったね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 中国高官と話す外務省局長の表情、やばい ★2 [175344491]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 【悲報】日本人「日本が中国と戦争になったら世界中の国が応援してくれるぞ!」 [616817505]
- 小野田経済安保相「すぐに経済的威圧するところへの依存はリスク」😲 [861717324]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 【ほんこん悲報】吉本新喜劇の中国公演が中止に! [523957489]
