12月11日~13日,
RubyKaigi 2015初日の基調講演はまつもとゆきひろさんです。
MINASWAN
"MINASWAN"という海外で生まれた標語があります。この言葉,
Rubyコミュニティの徳
ラリー・
- 怠惰 (自分の仕事を楽にするためにはどんな努力でもする)
- 短気 (コンピュータが怠けているのに怒りを感じ,
コンピュータが意図を読みとって動作するようにする) - 傲慢 (他の人が文句をつけないようなものを作る)
これらはすべて怒りの感情に通じています。怒りは制御されている限りにおいてはモチベーションに繋がりますが,
Matz is nice so we are nice
そしてRubyコミュニティには,
この標語についてあまり日本では触れられることがないため,
2. 3.0 の変更点について
RubyKaigi 2015に合わせて 2.
2.
- Did-you-mean
Enumerable#grep_
v Hash#fetch_
values Numeric#positive?
,Numeric#negative?
Hash#<=
,Hash#<
,Hash#>=
,Hash#>
Hash#to_
proc Array#dig
,Hash#dig
,Struct#dig
- Indented here doc
<<~
- Frozen string literals pragma
- Safe navigation operator
詳細については 2.
Frozen string literals
ここでは,
String
リテラル"literal"
).freeze
したものとして扱うコマンドラインオプションとマジックコメントが導入されました。この背景にはfreeze
にまつわる社会問題があったと,
Ruby 2."literal".freeze
が最適化され,String
オブジェクトを都度生成せずに常に同じオブジェクトを返すようになりました。"literal"
が何度も評価されるような場合には"literal".freeze
することでパフォーマンスの向上が見込まれます。
しかしこれにより,"literal"
に対して,.freeze
をつけるような Pull Requestが散見されるようになりました。確かに高速化はされるのですが,String
リテラルをimmutableにすることを検討しており,