トップページ > プログラム > 2015年02月23日 > QjP2ga8a

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

9 位/206 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000011215



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【Python】スクリプト バトルロワイヤル47【pl,rb,php,js】 [転載禁止]©2ch.net

書き込みレス一覧

【Python】スクリプト バトルロワイヤル47【pl,rb,php,js】 [転載禁止]©2ch.net
885 :デフォルトの名無しさん[sage]:2015/02/23(月) 20:56:48.09 ID:QjP2ga8a
使われることのないSymbolは当然GCの対象にならないとおかしい。
【Python】スクリプト バトルロワイヤル47【pl,rb,php,js】 [転載禁止]©2ch.net
890 :デフォルトの名無しさん[sage]:2015/02/23(月) 21:34:39.10 ID:QjP2ga8a
>>886
>>Symbolは本来ソースコード上の識別子を表すものなんだから
だからそもそもそれが不味いんだろう。
JSのような仕様にしておけば気軽に間違いを犯すことはなかった。
JSだと「:sym」と同等の存在は「Symbol.for('sym')」とわざわざしないと生まれない。
Symbolは基本的にユニークな存在で「Symbol('sym') != Symbol('sym')」だ。
それでもパフォーマンスと利便性は確保出来てる。
【Python】スクリプト バトルロワイヤル47【pl,rb,php,js】 [転載禁止]©2ch.net
892 :デフォルトの名無しさん[sage]:2015/02/23(月) 22:06:56.37 ID:QjP2ga8a
互換性というより醜いからだな。特にオブジェクトが連想配列なJSでそういうのができるのは。
それにSymbolはむしろユニークでかぶらないってところが重要で、存在意義を産んでる。
文字列の亜種みたいな扱いにしてしまうからそんな問題が起きる。
【Python】スクリプト バトルロワイヤル47【pl,rb,php,js】 [転載禁止]©2ch.net
894 :デフォルトの名無しさん[sage]:2015/02/23(月) 22:35:14.21 ID:QjP2ga8a
ObjectをキーにしたければMapを使えばいいじゃない。
それにオブジェクトがオブジェクトのキーに普通に使えたとしても、
Hashを求めないといけないんじゃ、パフォーマンスは期待できないよね。
だからこそプリミティブ型としてのSymbolがあるんでしょ?
【Python】スクリプト バトルロワイヤル47【pl,rb,php,js】 [転載禁止]©2ch.net
896 :デフォルトの名無しさん[sage]:2015/02/23(月) 23:26:36.47 ID:QjP2ga8a
というかObjectの場合はHashじゃなくてObjectが作られるたびにインクリメントされるIDを付与していく形になるだろうな。


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