キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - Marshal フォーマット (11)
-
NEWS for Ruby 2
. 2 . 0 (10) -
NEWS for Ruby 2
. 7 . 0 (5) -
NEWS for Ruby 3
. 0 . 0 (4) -
ruby 1
. 6 feature (11) -
ruby 1
. 9 feature (11) - sprintf フォーマット (11)
検索結果
先頭5件
-
NEWS for Ruby 2
. 7 . 0 (67.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...**)を足すことで警告を回避できます。
このように書けばRuby 3でも同じ意味で動きます。
//emlist[][ruby]{
def foo(key: 42); end; foo({key: 42}) # warned
def foo(**kw); end; foo({key: 42}) # warned
def foo(key: 42); end; foo(**{key: 42}) # OK
def foo(**kw)......; end; foo(**{key: 42}) # OK
//}
* キーワード引数を受け取るメソッドにキーワード引数を渡すが、必須引数
が不足している場合に、キーワード引数は最後の必須引数として解釈され、
警告が表示されます。警告を回避す......このように書けばRuby 3でも同じ意味で動きます。
//emlist[][ruby]{
def foo(h, **kw); end; foo(key: 42) # warned
def foo(h, key: 42); end; foo(key: 42) # warned
def foo(h, **kw); end; foo({key: 42}) # OK
def foo(h, key: 42); end; foo({key: 42}) # OK
//}
* メソッ... -
NEWS for Ruby 2
. 2 . 0 (43.0) -
NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...yZfrhEEnc8/edit?usp=sharing
* Hash
* 非互換: 重複するキーの上書きに関するポリシーを変更しました 10315
{ **hash1, **hash2 } は重複するキーについては hash2 の値を持ちます
* IO
* 非互換: IO#flush を使ったとき、ファイルの......* PrettyPrint#first? は削除しました。
* lib/minitest/*.rb
* mintest 5 と衝突するので削除しました。9711
* lib/test/**/*.rb
* minitest 5 と衝突するので削除しました。minitest 4 の単なるラッパーだった。9711
* uri
* 3986 をサポー......しました 9502
* Check_SafeStr -> SafeStringValue
* rb_check_safe_str -> SafeStringValue
* rb_quad_pack -> rb_integer_pack
* rb_quad_unpack -> rb_integer_unpack
* rb_read_check : access struct FILE internal. no replacement.
* rb_struct_iv_get : internal function. no repla... -
ruby 1
. 9 feature (43.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
...の文字列に対し、その文字のコードを返すメソッドが追加されました
: string[integer] が 1文字の String を返すようになりました
: string.slice(integer) が 1文字の String を返すようになりました
: ?c が 1文字の String を返すように......プションの追加
((<ruby-dev:28417>))
=== 2006-02-15
: instance_eval
((<ruby-core:7365>))
=== 2006-02-03
: Integer#upto [compat]
: Integer#downto [compat]
: Integer#doitems [compat]
ブロックがなければ enumerator を返す
: Enumerable#group_by [new]
: Enumerable#first......くことができるようになりました。
=== 2004-03-12
: File.fnmatch [change]
File::FNM_PATHNAME がセットされている場合、**/ が */ の繰り返しとして働くようになりました。
((<ruby-dev:22901>))
: File.fnmatch, Dir.glob [change]
Windows, DJGPP, EMX で... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (37.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...リテラルの prefix として 0d が追加されました。
8進リテラルの prefix として 0 以外に 0o が追加されました。
Integer(), String#to_i、String#oct もこの prefix を認識します。
: ((<メソッド引数の & 修飾|メソッド呼び出し/イテレー......ストでブロックを実行するように
なりました。
=== Numeric
: ((<Numeric#step|Numeric/step>)) [compat]
((<Fixnum>)), ((<Integer>)) から移動しました。
=== Object
: ((<Object#singleton_methods|Object/singleton_methods>)) [compat]
省略可能な引数 all......emExit#initialize|SystemExit/SystemExit.new>)) [compat]
引数が追加されました。
: ((<String#to_i|String/to_i>)) [compat]
: ((<Integer#to_s|Integer/to_s>)) [compat]
引数に基数(2,8,10,16)を指定できるようになりました。
(2002-01-26: 引数が 0 のときは prefix... -
NEWS for Ruby 3
. 0 . 0 (31.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...osplatting. This now matches the behavior of Procs
accepting a single rest argument and no keywords.
16166
//emlist[][ruby]{
pr = proc{|*a, **kw| [a, kw]}
pr.call([1])
# 2.7 => [[1], {}]
# 3.0 => [[[1]], {}]
pr.call([1, {a: 1}])
# 2.7 => [[1], {:a=>1}] # and deprecation warning
# 3.0 =>......* Array#flatten
* Array#slice!
* Array#slice / Array#[]
* Array#take
* Array#take_while
* Array#uniq
* Array#*
* Can be sliced with Enumerator::ArithmeticSequence
//emlist[][ruby]{
dirty_data = ['--', 'data1', '--', 'data2', '--', 'data3']
dirty_data[(1..).......The following methods now return or yield String instances instead of subclass instances when called on subclass instances: 10845
* String#*
* String#capitalize
* String#center
* String#chomp
* String#chop
* String#delete
* String#delete_prefix
* Stri... -
ruby 1
. 6 feature (31.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...from -:2
ruby 1.6.7 (2002-07-30) [i586-linux]
: 2002-06-03 sprintf()
"%d" で引数を整数にするときに、((<組み込み関数/Integer>)) と同じ規則を
使用するようになりました。
p sprintf("%d", nil)
=> -:1:in `sprintf': no implicit conversio......:in `remove_instance_variable': instance variable @foo not defined (NameError)
ruby 1.6.7 (2002-04-10) [i586-linux]
: 2002-04-04: Integer#((<Integer/step>))
第二引数が 1 よりも小さい場合に 0 を指定したと見なされエラーになって
いました。
1.ste......5 (2001-11-01) [i586-linux]
true
false # ここでは実行環境がLinuxなので ALT_SEPARATOR は nil
true
: Integer[nth]
大きな値のインデックスに対して例外が発生していました。
((<ruby-bugs-ja:PR#114>))
p(-1[10000000000])... -
sprintf フォーマット (19.0)
-
sprintf フォーマット === sprintf フォーマット
.../e+/) #=> "/e+/"
//}
: d
: i
引数の数値を10進表現の整数として出力します。
引数が整数でなければ関数 Kernel.#Integer と同じ規則で整数に
変換されます。
//emlist[][ruby]{
p sprintf("%d", -1) #=> "-1"
p sprintf("%d", 3.1) #=> "3"
p sprintf("%d", '......sprintf("%f", 10.1) #=> "10.100000"
p sprintf("%e", 10.1) #=> "1.010000e+01"
p sprintf("%g", 10.1) #=> "10.1"
p sprintf("%g", 10 ** 6) #=> "1e+06"
p sprintf("%g", 10 ** -5) #=> "1e-05"
//}
精度の省略値は 6 です。
無限大、NaN(Not a Number) に対する出力は以下のとおり... -
Marshal フォーマット (13.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
...32ビット環境で内部的に Bignum になる Integer は
64ビット環境で Marshal.dump しても、この形式になります。
//emlist{
| 'l' | '+'/'-' | shortの個数(Fixnum形式) | ... |
//}
//emlist[][ruby]{
p Marshal.dump(2**32).unpack("x2 a a c a*")
# => ["l", "+", 8, "\x00\x...