トップページ > プログラム > 2020年03月30日 > /1SwYHDd

書き込み順位&時間帯一覧

4 位/152 ID中時間01234567891011121314151617181920212223Total
書き込み数0000100000010001002000005



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Rust part8
Kotlin 6

書き込みレス一覧

Rust part8
322 :デフォルトの名無しさん[sage]:2020/03/30(月) 04:01:22.73 ID:/1SwYHDd
>>318が書いてるの合ってると思うけど?
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=6d886f2d3b944871c18856f0e19da71c

iterがshared referenceをイテレートするから
パターンマッチで`&`を1枚剥がした型にして使ってる
for &i in iterと同じ
Rust part8
325 :デフォルトの名無しさん[sage]:2020/03/30(月) 11:38:27.40 ID:/1SwYHDd
>>323
左辺に代入する時にパターンマッチ使ってDestructuringしてる
例えばyが&i32ならxはi32になる

let i = 1;
let &i = i;
これがコンパイル取らないのは
右辺がintegerで左辺がreferenceを要求しててマッチしないから

let i:i32 = 1;
let i = &i;
let &i = i;
let i:() = i;
↑こうやって試せば3行目の&iへの代入でiが&i32じゃなくi32になってるのが分かる
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=1d23370e99b388e2205c43e863885315
Rust part8
328 :デフォルトの名無しさん[sage]:2020/03/30(月) 15:23:14.22 ID:/1SwYHDd
1.38からはstd::any::type_nameがstabilizeされてるので
エラーメッセージやnightly使わずに変数の型をprintして確認できるみたい
(consumeしないようにreferenceで渡すから少し分かりにくいかもだけど)

fn type_of<T>(_: &T) -> &str {
std::any::type_name::<T>()
}

fn main() {
let i = 1;
let i = &i;
let &i = i;
println!("{}", type_of(&i));
}

type_name_of_valってのも追加されてるけど
こっちはまだstabilizeされてない
Rust part8
330 :デフォルトの名無しさん[sage]:2020/03/30(月) 18:21:13.55 ID:/1SwYHDd
>>329
聞く前に試せばわかるよね
Kotlin 6
912 :デフォルトの名無しさん[sage]:2020/03/30(月) 18:40:18.84 ID:/1SwYHDd
自分にとってどういうメリットがあるのかと
そのメリットが既存のものを捨てて乗り換えるコストを上回りそうかどうかという
2点をクリアしないと普通の人は新しいものを導入しようって気持ちにはならない

2つとも個々の状況によるものだから
現状の問題点や比較対象無しに聞いてもフワッとしたものしか返ってこないと思う


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。