Ruby 2.6 の変更点 - ENV, Struct, Random

Ruby2.6アドベントカレンダーの19日目の記事です。 qiita.com ENV ENV.to_h にブロックを渡すとキーと値を変換できる Struct Struct#to_h にブロックを渡すとキーと値を変換できる Struct#filter 追加 Random Random.bytes 追加 ENV ENV.to_h にブロックを渡…

Ruby 2.6 の変更点 - Time

Ruby2.6アドベントカレンダーの18日目の記事です。 qiita.com Time タイムゾーンサポート 東京五輪時間 Time タイムゾーンサポート https://bugs.ruby-lang.org/issues/14850 Time.new とか Time#getlocal は UTCからの時差を文字列("+09:00"等)か数値(秒数)…

Ruby 2.6 の変更点 - RubyVM::AbstractSyntaxTree

Ruby2.6アドベントカレンダーの17日目の記事です。 qiita.com RubyVM::AbstractSyntaxTree RubyVM::AbstractSyntaxTree Ruby スクリプトを解析して抽象構文木を作成するクラスが追加されました。 RubyVM::AbstractSyntaxTree.parse は引数の文字列をパースし…

Ruby 2.6 の変更点 - String

Ruby2.6アドベントカレンダーの16日目の記事です。 qiita.com String Unicode 11 対応 String#crypt が非推奨 String#split がブロックをイテレータとして使用する String Unicode 11 対応 https://bugs.ruby-lang.org/issues/14802 String#crypt が非推奨 h…

Ruby 2.6 の変更点 - Object と NilClass

Ruby2.6アドベントカレンダーの15日目の記事です。 qiita.com Object Object#=~ が非推奨 NilClass NilClass#=~ 追加 Object Object#=~ が非推奨 https://bugs.ruby-lang.org/issues/15231 Object#=~ があり、それが常に nil を返すためにプログラムのミスを…

Ruby 2.6 の変更点 - Range

Ruby2.6アドベントカレンダーの14日目の記事です。 qiita.com Range Range#step が Enumerator::ArithmeticSequence オブジェクトを返す Added Range#% 追加 Range#=== が #include? だけではなく #cover? も使う Range#cover? が Range オブジェクトも受け…

Ruby 2.6 の変更点 - Module

Ruby2.6アドベントカレンダーの13日目の記事です。 qiita.com Module Module#method_defined?, Module#private_method_defined?, Module#protected_method_defined? で継承されたものを含むかどうかを指定可能 Module Module#method_defined?, Module#privat…

Ruby 2.6 の変更点 - Method と Proc

Ruby2.6アドベントカレンダーの12日目の記事です。 qiita.com Method Method#<<, Method#>> 追加 Proc Proc#<<, Proc#>> 追加 Method Method#<<, Method#>> 追加 https://bugs.ruby-lang.org/issues/6284 このメソッドオブジェクトと他のメソッドやProc等(#c…

Ruby 2.6 の変更点 - KeyError, NameError, NoMethodError

Ruby2.6アドベントカレンダーの11日目の記事です。 qiita.com KeyError KeyError.new に :receiver, :key オプション追加 NameError NameError.new に :receiver オプション追加 NoMethodError NoMethodError.new に :receiver オプション追加 KeyError KeyE…

Ruby 2.6 の変更点 - IO

Ruby2.6アドベントカレンダーの10日目の記事です。 qiita.com IO ファイルオープン時のモードに x 追加 IO ファイルオープン時のモードに x 追加 https://bugs.ruby-lang.org/issues/11258 ファイルを作成用にオープンするには w を指定しますが、これはファ…

Ruby 2.6 の変更点 - Exception

Ruby2.6アドベントカレンダーの9日目の記事です。 qiita.com Exception Exception#full_message に :highlight, :order オプション追加 Exception Exception#full_message に :highlight, :order オプション追加 https://bugs.ruby-lang.org/issues/14324 2.…

Ruby 2.6 の変更点 - TracePoint

Ruby2.6アドベントカレンダーの8日目の記事です。 qiita.com TracePoint TracePoint#parameters 追加 TracePoint#enable に :target, :target_line キーワード引数追加 TracePoint TracePoint#parameters 追加 https://bugs.ruby-lang.org/issues/14694 メソ…

Ruby 2.6 の変更点 - Kernel

Ruby2.6アドベントカレンダーの7日目の記事です。 qiita.com Kernel Kernel#then 追加 Kernel#Complex, Kernel#Float, Kernel#Integer, Kernel#Rational に :exception オプション追加 Kernel#system に :exception オプション追加 Kernel#system と Kernel#…

Ruby 2.6 の変更点 - Enumerator と Enumerable

Ruby2.6アドベントカレンダーの6日目の記事です。 qiita.com Enumerator Enumerator#+, Enumerator#chain 追加 Enumerator::ArithmeticSequence 追加 Enumerator::Lazy#filter 追加 Enumerable Enumerable#chain 追加 Enumerable#to_h にブロックを渡すとキ…

Ruby 2.6 の変更点 - Hash

Ruby2.6アドベントカレンダーの5日目の記事です。 qiita.com Hash Hash#merge, merge!, update が複数の引数を受けつける Hash#to_h にブロックを渡すとキーと値を変換できる Hash#filter, Hash#filter! の追加 Hash Hash#merge, merge!, update が複数の引…