Rust part26at TECH
Rust part26 - 暇つぶし2ch988:デフォルトの名無しさん
24/12/01 22:10:53.24 IuCKzQHf.net
そうか? 俺にはお前の額に馬と鹿が見えるが

989:デフォルトの名無しさん
24/12/01 22:44:04.77 iESkoZBr.net
>>774
アンロードが起きうるstatic変数は制御下に置くためスレッドローカルに置く
thread_local! {
static VAR: RefCell<Foo> = RefCell::new(Foo::new());
}
ちゃんとdropするためメモリリークは起きないことが確認できる
impl Drop for Foo {
fn drop(&mut self) {
println!("DEBUG: drop Foo");
}
}

990:デフォルトの名無しさん
24/12/02 13:25:55.50 SvUnxJQd.net
>>980
大丈夫か?比較対象がfortranやbasicでは歳が知れるぞ。今時の言語知らんのかい?

991:デフォルトの名無しさん
24/12/02 13:32:19.67 3neKGwU7.net
変数束縛とかいきってるとこにセンス感じないのは同意

992:デフォルトの名無しさん
24/12/02 13:38:57.47 5A4jg9rQ.net
ML 系言語が基礎になってるから用語もそっちで一般的なものが使われてる。

993:デフォルトの名無しさん
24/12/02 13:43:46.67 3neKGwU7.net
>>986
ML知ってるならより奇妙に感じるはずだよw

994:デフォルトの名無しさん
24/12/02 14:01:48.04 SvUnxJQd.net
lispや初期のMLからletの使い方は変わってないと思うけど何がしたくて何が出来ないと言ってるのか分からん。

995:デフォルトの名無しさん
24/12/02 14:48:33.18 XKXSk/VC.net
伝統的には、引数とグローバル変数を区別せず自由変数とする
自由ではない変数は束縛されている
ただし関数がネストするなら、引数は束縛変数とするほうが需要に合致する

996:デフォルトの名無しさん
24/12/02 18:48:24.16 jQxoP1Z8.net
free variables/bound variablesのbindingと
name bindingのbindingは無関係ではないけど使われる文脈も意味も違う
letの話は後者

それに昔々のThe Bookではvariable bindingsという用語が使われてたが
わかりにくいという理由でかなり前にvariablesという用語に変更されてる

997:デフォルトの名無しさん
24/12/02 18:54:23.80 UThkx+wo.net
>>739
メモリリークとは実行中に使用していないメモリが解放されないことでメモリ使用量が膨らんでいくことだから
実行を終えた時にメモリ解放するか否かはどうでもいい話でそれをメモリリークとは呼ばない

Box::leak()でも実行を終えた時にメモリは解放されないがRustでは普通に使われている
例えばcargo crateでもleakさせまくっているが何ら問題ない

cargo-0.84.0/src/cargo/core/package_id.rs: let inner = Box::leak(Box::new(inner));
cargo-0.84.0/src/cargo/core/source_id.rs: let inner = Box::leak(Box::new(inner));
cargo-0.84.0/src/cargo/util/interning.rs: let s = str.to_string().leak();

998:デフォルトの名無しさん
24/12/02 20:05:14.90 4EvznkF/.net
最近勉強始めたけど
::で躓いて脱落しそう

999:デフォルトの名無しさん
24/12/02 20:19:44.41 GZbY5KmK.net
ダブルコロンは他の言語C++からPHPまで使われており
Rustでもそれらと同様に名前空間を示すpathの区切り文字として使用されている
URLリンク(doc.rust-lang.org)

1000:デフォルトの名無しさん
24/12/02 20:22:50.81 SvUnxJQd.net
>>990
えーとletという用語に文句言ってるだけで、プログラムの機能的には問題ないということでいいの?

1001:デフォルトの名無しさん
24/12/02 20:39:13.67 B3Y6W1wC.net
ら、ら、ラストー🦛

1002:デフォルトの名無しさん
24/12/02 20:39:36.01 B3Y6W1wC.net
ら、ら、ラストー🦛

1003:デフォルトの名無しさん
24/12/02 20:39:59.86 B3Y6W1wC.net
ら、ら、ラストー🦛
ら、ら、ラストー🦛

1004:デフォルトの名無しさん
24/12/02 20:40:22.73 B3Y6W1wC.net
ら、ら、ラストー🦛
ら、ら、ラストー🦛

1005:デフォルトの名無しさん
24/12/02 20:40:45.44 B3Y6W1wC.net
ら、ら、ラストー🦛
ら、ら、ラストー🦛
ら、ら、ラストー🦛

1006:デフォルトの名無しさん
24/12/02 20:41:08.42 B3Y6W1wC.net
ら、ら、ラストー🦛
ら、ら、ラストー🦛
ら、ら、ラストー🦛

1007:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 72日 22時間 22分 31秒

1008:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch