公式
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+1pIyvG560デフォルトの名無しさん
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の過去ログは消えたので詳細は分からなくなってしまったね
643デフォルトの名無しさん
2025/03/15(土) 23:37:53.75ID:lrO4FCGW 今回は代案が明確だから決定した
644デフォルトの名無しさん
2025/03/15(土) 23:56:12.71ID:E7lv2JsK 主語がでかいっていうか主語が確定してない
645デフォルトの名無しさん
2025/03/16(日) 00:20:19.13ID:B4wnHsDg 日本における Rust 黎明期から特に翻訳に取り組もうとした人たちが相談して決めたことより自分のほうが妥当だと思える感性が信じられない。
646デフォルトの名無しさん
2025/03/16(日) 01:02:58.08ID:PKYfY0wz >>645
どこの馬の骨ともわからん有志が対した議論もせずに
JavaやScalaの誤った訳か機械翻訳を間違って採用しただけだろ
しっかりした議論が残ってればもう少し違う見方もできるけど
これに関してはどのイシューひどいじゃん
どこの馬の骨ともわからん有志が対した議論もせずに
JavaやScalaの誤った訳か機械翻訳を間違って採用しただけだろ
しっかりした議論が残ってればもう少し違う見方もできるけど
これに関してはどのイシューひどいじゃん
647デフォルトの名無しさん
2025/03/16(日) 02:18:37.75ID:w3N6tLjW もういいじゃんそんな細けーこと
648デフォルトの名無しさん
2025/03/16(日) 02:46:42.41ID:yI9oTyRI 武器などの物体は正義でも悪でもないとよく言われる
それを買ったただの消費者が正しさに寄与する
ただの消費者のほうが正しい、ではなく、正しさに寄与するのは消費者だけなのだ
それを買ったただの消費者が正しさに寄与する
ただの消費者のほうが正しい、ではなく、正しさに寄与するのは消費者だけなのだ
649デフォルトの名無しさん
2025/03/16(日) 03:28:25.58ID:ur48jpVS ぶっちゃけそれ系の訳の問題言うならあれvariantが列挙子って訳になってるのをまずやめてほしい
650デフォルトの名無しさん
2025/03/16(日) 03:31:26.33ID:f6FIyYfU >>639
trait bounds自体は束縛や制約という意味を全く含んでいないため
そのトレイト束縛という日本語訳はよろしくない
trait boundsのboundsの意味から有り得る日本語訳は
トレイト境界
トレイト限界
トレイト限度
トレイト範囲
つまりトレイトによる空間の線引きといった概念を表している
つまりtrait bounds自体には制約や束縛といった概念は全く含まれていないためそこは明確に区別する必要がある
そしてtrait boundsによって型パラメーターが制限される(restrict)
このような関係なのでtrait boundsに対してトレイト制限という日本語訳ももちろんよくない
トレイト境界が型パラメーターを制限する関係
trait bounds自体は束縛や制約という意味を全く含んでいないため
そのトレイト束縛という日本語訳はよろしくない
trait boundsのboundsの意味から有り得る日本語訳は
トレイト境界
トレイト限界
トレイト限度
トレイト範囲
つまりトレイトによる空間の線引きといった概念を表している
つまりtrait bounds自体には制約や束縛といった概念は全く含まれていないためそこは明確に区別する必要がある
そしてtrait boundsによって型パラメーターが制限される(restrict)
このような関係なのでtrait boundsに対してトレイト制限という日本語訳ももちろんよくない
トレイト境界が型パラメーターを制限する関係
651デフォルトの名無しさん
2025/03/16(日) 03:34:24.31ID:ur48jpVS Type: Traitの二項関係をsubtypingだと解釈すればtrait boundはlower bound(下界)を宣言していると見ることもできなくはないけど
でもsubtypingじゃねーから微妙に惜しいんだよな
線とか言ってるのはただのバカ
でもsubtypingじゃねーから微妙に惜しいんだよな
線とか言ってるのはただのバカ
652デフォルトの名無しさん
2025/03/16(日) 03:55:22.51ID:f6FIyYfU653デフォルトの名無しさん
2025/03/16(日) 05:18:13.31ID:Mb92w3En 何か延びてると思ったら
トレイト警察うざすぎ
トレイト警察うざすぎ
654デフォルトの名無しさん
2025/03/16(日) 06:07:04.14ID:fZszb0GG どちらも譲らないから延々このネタで盛り上がっていいんじゃないの
昔のム板では「importは輸入という訳語がいいかカタカナでインポートがいいか」ってレスバに花が咲いて何ヶ月も揉めたことがあるよ
あんときもアレコレ英語の語源とか意味とか出てきてみんな楽しかったなあ
英語ネタというか翻訳ネタはいい意味でプログラムの本質の理解度を試されるから、ム板ではアルゴリズムそのものより熱く語られる伝統がある
昔のム板では「importは輸入という訳語がいいかカタカナでインポートがいいか」ってレスバに花が咲いて何ヶ月も揉めたことがあるよ
あんときもアレコレ英語の語源とか意味とか出てきてみんな楽しかったなあ
英語ネタというか翻訳ネタはいい意味でプログラムの本質の理解度を試されるから、ム板ではアルゴリズムそのものより熱く語られる伝統がある
655デフォルトの名無しさん
2025/03/16(日) 06:09:34.58ID:w3N6tLjW ちゃうちゃう
バカでも参加できる話題だから盛り上がるんだよ
バカでも参加できる話題だから盛り上がるんだよ
656デフォルトの名無しさん
2025/03/16(日) 06:26:58.07ID:OYB6I5YT まだ出ていないようなので
【「トレイト制約」と呼んではいけない理由】
プログラミング言語で広く確立されている用語として「型制約 (type constraint)」がある
これは各言語によって様々な条件を指定することで型(パラメータ)を制約することを指す
つまり型が制約される対象である
もし「トレイト制約」という用語を用いるとトレイトが制約される対象となってしまう
そのため英語でもtrait constraint (トレイト制約)という用語を用いていない
trait bound (トレイト境界)は条件側の一つである
【「トレイト制約」と呼んではいけない理由】
プログラミング言語で広く確立されている用語として「型制約 (type constraint)」がある
これは各言語によって様々な条件を指定することで型(パラメータ)を制約することを指す
つまり型が制約される対象である
もし「トレイト制約」という用語を用いるとトレイトが制約される対象となってしまう
そのため英語でもtrait constraint (トレイト制約)という用語を用いていない
trait bound (トレイト境界)は条件側の一つである
657デフォルトの名無しさん
2025/03/16(日) 08:35:57.95ID:et8KMeeu C++03からやり直せば理解が進むのでは?
658デフォルトの名無しさん
2025/03/16(日) 08:44:56.04ID:MZvUgHKE https://ejje.weblio.jp/content/bounds
日本語WordNet(英和)での「bounds」の意味
ものの限界または範囲を示す線あるいは面
EDR日英対訳辞書での「bounds」の意味
リミット;切り;埒;限り;方図;限界;限度
日英・英日専門用語辞書での「bounds」の意味
上下限,範囲,限度,限界
斎藤和英大辞典での「bounds」の意味
制限;範囲;極限;際涯;構内;切り;程;極際;限界
Weblio英和対訳辞書での「bounds」の意味
埒, 埓, 上下限, 境界, 限度, 果てし, 際限, 限り, 程
限り, 範囲, 限界, 〈際限〉・切り, 〈限度〉・程, 際限, 〈限界〉・極限, 限度
領域
バウンズ
日本語WordNet(英和)での「bounds」の意味
ものの限界または範囲を示す線あるいは面
EDR日英対訳辞書での「bounds」の意味
リミット;切り;埒;限り;方図;限界;限度
日英・英日専門用語辞書での「bounds」の意味
上下限,範囲,限度,限界
斎藤和英大辞典での「bounds」の意味
制限;範囲;極限;際涯;構内;切り;程;極際;限界
Weblio英和対訳辞書での「bounds」の意味
埒, 埓, 上下限, 境界, 限度, 果てし, 際限, 限り, 程
限り, 範囲, 限界, 〈際限〉・切り, 〈限度〉・程, 際限, 〈限界〉・極限, 限度
領域
バウンズ
659デフォルトの名無しさん
2025/03/16(日) 09:19:47.84ID:QnytwJN4 そういや、日本語訳に文句のある人は最新のthe book の翻訳はしないの?
旧日本語版は情報が古いし公式からリンクを貼られているgithubのは翻訳している気配無いし。翻訳が間違っているなら、最新版の翻訳を用意すれば正しい方向に誘導できるんじゃないのかね。
旧日本語版は情報が古いし公式からリンクを貼られているgithubのは翻訳している気配無いし。翻訳が間違っているなら、最新版の翻訳を用意すれば正しい方向に誘導できるんじゃないのかね。
660デフォルトの名無しさん
2025/03/16(日) 09:28:08.49ID:OHAI5BZ5 境界がイメージしにくいとかじゃなくてboundsと言うワードが機能をうまく表現していない
boundsの訳を一生懸命模索してもそこがネックになる
訳語を離れると機能面で制約や限定などになる
boundsの訳を一生懸命模索してもそこがネックになる
訳語を離れると機能面で制約や限定などになる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★5 [BFU★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【悲報】SANA、発言撤回拒否 [769931615]
- カルピスみたいに水で薄めるジュースでおすすめ他にない?
- 米シンクタンク「アメリカは台湾問題で"あいまい戦略"を取っている。高市早苗はこの方針から逸脱している」 [603416639]
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
- ジャーナリストがテレビで解説「台湾問題は高市総理から言ったのではなく、立憲民主が日本の対応可能能力を暴こうとしたから」 [359572271]
- 俺性格悪いなって思った瞬間あげてけ
