[過去ログ] Rust part24 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
124: デフォルトの名無しさん [sage] 2024/06/14(金) 11:03:03.69 ID:GO4uoc83(1) AAS
今考えられてるアノテーションではmaybe safer C++になるだけで根本的にsafeではない

既存資産を活用するという最大のメリットを捨てて非互換新言語を作れば可能だけどRustがある現状で誰もそんな事に投資しないから実現不可能
138
(2): デフォルトの名無しさん [] 2024/06/14(金) 23:46:55.69 ID:49Oug44p(2/2) AAS
ゲームはまずdirectxやopenglとかがrustで書き直されないことには何も始まらんと思うわ
157: デフォルトの名無しさん [sage] 2024/06/15(土) 16:13:09.69 ID:uRWofhsS(2/11) AAS
use std::io::{self, BufRead, BufReader};
const FULL_BITS: u32 = (1 << 26) - 1;
fn main() {
 let mut shortest: Option<String> = None;
 for line in BufReader::new(io::stdin()).lines() {
  let line = line.unwrap();
  let mut bits = 0;
  for b in line.as_bytes() {
   let index = match b {
    b'A'..=b'Z' => b - b'A',
    b'a'..=b'z' => b - b'a',
    _ => continue,
   };
   bits |= 1 << index;
  }
  if bits != FULL_BITS {
   continue;
  }
  if let Some(ref shortest) = shortest {
   if shortest.len() < line.len() {
    continue;
   }
  }
  shortest = Some(line);
 }
 if let Some(shortest) = shortest {
  println!("{shortest}");
 } else {
  eprintln!("ERROR: no matched lines");
 }
}
180
(1): デフォルトの名無しさん [sage] 2024/06/16(日) 04:03:11.69 ID:WxpyLfm8(1) AAS
>>174
174(2): デフォルトの名無しさん [sage] 2024/06/16(日) 01:15:13.88 ID:dwkxcYMW(1/22) AAS
>>172
別にC言語だってallocaの返したポインタとmallocの返したポインタを区別しないけど
mallocで得たポインタとallocaで得たポインタは明確に区別しなければならない
mallocで得たポインタのみfreeの対象としなければならない
この区別はCプログラマーの責務でありミスると破綻する
225: デフォルトの名無しさん [sage] 2024/06/16(日) 19:26:50.69 ID:0Wwb3VFz(3/3) AAS
ここは結局こんな感じなのでID:dwkxcYMWは本当のことが知りたいならrust-lang-jpのZulipにでも行くといい
外部リンク:rust-lang-jp.zulipchat.com
252: デフォルトの名無しさん [sage] 2024/06/19(水) 01:01:46.69 ID:Xt21vW+E(1) AAS
>>248
248(2): デフォルトの名無しさん [sage] 2024/06/18(火) 19:12:43.09 ID:1V33WRQR(1) AAS
団体がすべての主導権を握ってるならある日急にガラッと変えても誰も文句を言えない
実装が仕様です

C++や他の言語で規格がって言ってるのはコンパイラだけの問題じゃなくてコード利用してる側の都合でもある
>C++や他の言語で規格がって言ってるのはコンパイラだけの問題じゃなくてコード利用してる側の都合でもある
コードを利用してる側の都合というのは複数の実装が存在するけど
リファレンス実装やデファクトスタンダードが存在しないから規格がないと困るからでしょ

今も規格が生きてる言語というとC, C++, COBOL, Ada, Fortran, JavaScript, C#くらい
C#を除くと各ベンダーがクローズドソースでプロプライエタリなコンパイラを作ってた時代からの言語
C#はOSS/マルチプラットフォーム化されて必要性はもうなくなってる
324: デフォルトの名無しさん [] 2024/06/24(月) 04:37:42.69 ID:De91wzz6(1/2) AAS
>>322
322(1): デフォルトの名無しさん [sage] 2024/06/24(月) 01:22:36.88 ID:xscSUycb(1/2) AAS
>>321
理解してないでしょ

Enumerable.Range(7, 10).WithIndex().ForEach(x => {
var (index, value) = x;
Console.WriteLine($"{index}: {value}");
});

外部リンク:dotnetfiddle.net
おお…。
確かに理解してませんでした。

ちなみに、私もその後何とかSelect内で出力を出来ないか思考錯誤したら出来たのですが、「違う。そうじゃない」な結果に^^;

File.ReadAllLines(fileName).Select((line, i) =>
{
Console.WriteLine($"{i + 1,2}:{line}");
return 0;
});
790
(1): デフォルトの名無しさん [sage] 2024/07/12(金) 22:37:23.69 ID:LuKbokrL(6/9) AAS
電気電子板の人が、Rustの特集やってるインターフェース誌を買って読んだけどわからんかったって言ってたよ
825
(1): デフォルトの名無しさん [sage] 2024/07/13(土) 12:44:05.69 ID:Bid5yHc7(1) AAS
お前らずっと同じ話をループさせてんな😅
839
(1): デフォルトの名無しさん [sage] 2024/07/13(土) 22:57:22.69 ID:ZTGyFNne(1) AAS
>>838
838(1): デフォルトの名無しさん [] 2024/07/13(土) 17:43:27.19 ID:mV5TIlCk(8/8) AAS
>>831
意味でなく形式に拘るなら「事後要件を弱めてはいけない」などのルールは、要件がプログラム等の形式で表現されない限りLSPの評価の土台にすら上がらないってことにならない?

Cloneトレイトは公式のドキュメントに

// Required method
fn clone(&self) -> Self;
Returns a copy of the value.

とあって、exampleでは実際に assert_eq を使って説明しているので、この説明を元にCloneトレイトを実装する型の妥当性を判断して良いように思う
これでもまだ「それは意味論上のものでしかない」というなら、逆にそれをクリアしてクラス間の振る舞いを示している現実的な例を教えてくれ
それは単純な例だから上手くいってるように思い込めるんじゃないかな
例えばclassの場合はもっと複雑な例になってもsuperclassのコードと挙動が実際にあり
それとsubclassの挙動や(必要なら)コードと照らし合わせて判定できるよ

しかしtraitにはそれがないからドキュメントや付加assertなど一段上のメタ情報を用いなければ何も進めることができない
したがってLSPの枠組みと似てる面はあっても別物
974
(1): デフォルトの名無しさん [sage] 2024/07/25(木) 22:49:30.69 ID:9YYk7vP+(1) AAS
>>973
973(1): デフォルトの名無しさん [] 2024/07/25(木) 22:41:22.06 ID:zdgCFOr2(1/2) AAS
クレートではないけれど今日リリースのRust 1.80でLazyCell, LazyLockが安定版に入ったよ
グローバルな変数を外部クレート無しで書きやすくなる
それ、OnceCell使ってたコードは全部置き換えた方がいい奴?
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.045s