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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
29
(3): 2022/06/29(水)04:43 ID:wTdKgESK(1) AAS
結局allocを用意して、Resultを返すような別方言のRustを作っただけじゃん。こんなんでええのかよ、糞言語
129
(3): 2022/07/03(日)22:08 ID:tiLDs1XL(1) AAS
>>126
具体的なことを何一つ言えない時点で話にすらならないが
一つ重要なアドバイスをしてあげよう

unsafeとは他の言語と同じ状態ということ
つまりunsafeについて批判すればするほどそれはRust以外の言語がいかにダメなのかを語っていることになる

ちなみにRustはunsafeの中でC言語と同じことができるしもちろんインラインアセンブラも書ける
つまりRustはC言語と同じ機能及び性能を有している側面がまず第一としてある

その上で外部を巻き込むことなくunsafeな部分を内部に完全に閉じ込めた各モジュール例えば標準ライブラリなどを次々と生み出すことにも成功している
そしてRustコンパイラが安全性を保証するプログラムを現実に書くことができることを実証してきた
だからこそIT大手各社が共同でRustを支持する状況にまでなったのだ
151
(4): 2022/07/04(月)12:51 ID:iNsmlcex(1/4) AAS
>>146
全てunsafeにでもしない限り、効率を落とさずには代替になれない例が有ると言っている。
ポインタ値をアプリ全体でLinkedListのノードを識別するための id 値として
利用している場合だ。
index 番号では効率が劇的に下がるケースが多い。
196
(3): 2022/07/05(火)16:10 ID:UQspXvq+(3/3) AAS
>>193
いや、RustのRcなどは、C++とshared_ptrと同じじゃない。
全然違うと言っても過言ではない。
216
(4): 2022/07/07(木)15:30 ID:jjCeBJbE(1) AAS
ARCで管理してる時点でRustはガベコレじゃないからすごい!って理論は破綻してるんじゃありませんかね?
308
(3): 2022/07/09(土)18:46 ID:hyXSHlQu(1/3) AAS
正確にはこうだな

プログラミング言語の進化の中で
メモリ自動解放における高速性と安全性の両立を実現した初めての実用的な言語がRust
404
(3): 2022/07/21(木)17:54 ID:F7Gtvv1S(1/2) AAS
>>402
何が言いたいのかよくわからないけど型クラスになくてtraitにあるものって何?

associate typeはrustの発明だと思うけど、そういうこと言いたいわけでもなさそうだし
418
(4): 2022/07/22(金)00:22 ID:hXBfLf2I(1/3) AAS
>>416
普通のこれだろ
struct Foo<T: Trait1 + Trait2> {
 inner: T,
}
487
(3): 2022/07/26(火)08:15 ID:RlhOzjvN(1) AAS
今マイコン用クレートでメジャーなのってどのあたり?
自分で作るにあたり参考にしたいのだが
539
(3): 2022/08/07(日)00:00 ID:pGypWfdH(1/3) AAS
Rustでライブラリをどうやって選定してんの?
crate.io見て人気のを選んでんの?

GETだけのためにhttpclient使おうとしたらtokio入れて使えとか全然意味わからんしコンパイルしたら
これを使うには2018使えと2022使えが出てくる…

他のに変えても変わらず
GETなんてコピペ産業で実現させてくれよ

use
初期化
GET

これで終わらせてくれ
578
(3): 2022/08/26(金)10:06 ID:i2SIEm4o(1) AAS
>>576
コンパイル通ったら安心と思い込む馬鹿
628
(3): 2022/09/05(月)15:09 ID:LmWvGk9l(1) AAS
関数の入出力はu8だけど関数内の計算はi32で行いたい場合って普通どんな感じで書くの?
633
(4): 628 2022/09/05(月)17:50 ID:Y4+oTyIj(1) AAS
例えばこんなの
fn func(x: u8, y: u8) -> u8 {
 let x32 = x as i32;
 let y32 = y as i32;
 let z32 = (((x32 - y32) * 170) >> 16) + y32;
 return z32 as u8;
}
4行使うのは冗長かなーと思わなくもなく・・・
テンポラリ変数の名前を考えるのもちょっと面倒だし
648
(3): 2022/09/08(木)00:04 ID:nmwPOGZ0(1) AAS
>>645
サンクス。u32とかにはfrom_leとかあるみたいですね。こっちの方が使う機会は多そう
デフォルトのバイトオーダーを変更したり、変数やフィールド単位でバイトオーダーを設定する
みたいな芸当は流石に無理なのかな・・・ググったけどそれっぽい情報は見つけられなかった
675
(3): 2022/09/10(土)00:32 ID:qBfKxAEz(1/4) AAS
>>663
その方向でやってみます

というかこの構造体をArrayに沢山詰めようとすると初期化が難しいのか。どうしようか悩んだ結果こうしてみた
#![no_std]
const LEN: u32 = 640*480;
let mut bitmap:[u32; LEN] = [0; LEN];
let mut bitmap:[ARGB32; LEN] = unsafe {core::intrinsics::transmute::<_, [ARGB32; LEN]>(bitmap)};
bitmap[0].red = 0xFF;
アセンブラリストを見る限りは問題なさそう
738
(4): 2022/09/19(月)18:45 ID:npVSxydm(1/2) AAS
実装を追加させない方法ってありますか?
別個に渡されたふたつの型が同じであるという制約を付けたいという目的で
以下のようなトレイト Same を定義した場合、実装を追加できてしまうと破綻してしまうので、
なんらかの方法で制限できるだろうかという疑問です。

pub trait Same<T> {}
impl<T> Same<T> for T {}

// 使用例
pub fn foo<T, U>(x: T, y: U)
where
T: Same<U
省4
851
(3): 2022/09/30(金)12:43 ID:NYKsqXq4(1/2) AAS
書き方は違うけどフィールドそれぞれに対して処理を行う場合に抜け漏れがないことをコンパイラにチェックさせる目的でローカル変数にすることはある

let Foo { foo, bar. baz } = self;
としておくと後続の処理で使わないフィールドがあったときにコンパイラが警告してくれる
構造体に新たにフィールド追加した場合も分割代入の箇所でコンパイルエラーになるので修正必要箇所を洗い出すことができる
867
(4): 2022/10/04(火)00:38 ID:1GTeu6AF(1) AAS
うまく表現できないのですが、cやc++なら部分から始められる(動くものが作ることができる)のですけど、rustはそんな気がしないというか
伝わりにくいかもしれませんけど
907
(3): 2022/10/04(火)17:46 ID:5flxOiHV(1) AAS
段階的学習って↓を読み進めればいいだけじゃないの?
外部リンク:doc.rust-jp.rs
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.052s