エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント3件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
小田急線の脱線事故で帰宅難民化しそうになった - ただのにっき(2014-06-19)
■ Rubyの定数はできるだけfreezeさせようと思った もう10数年もRuby使ってるのに、すげー初歩的なミスに... ■ Rubyの定数はできるだけfreezeさせようと思った もう10数年もRuby使ってるのに、すげー初歩的なミスに気づかず2日もムダにしてしまった。典型的な「mutableな定数」問題。 CONST = 'foo' def bar(opt) str = CONST str << opt baz(str) end みたいなメソッドbarがマルチスレッドの奥底で何度も呼び出されて、そのたびにCONSTの中身が変わってしまっているのに気づかず、スレッドの競合かなにかに違いないと決めつけて延々と別のところを調べていたという。「CONST = 'foo'.freeze」って書いておけばすぐわかったはずなので、今後本当に定数として使いたいときはfreezeすることにする。 (最近のrubyの実装でこのあたりのトピックがあった気がするけど思い出せない) ■ 小田急線の脱線事故で帰宅難民化しそうになった
2014/06/22 リンク