別のキーワード
ライブラリ
- ビルトイン (12)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) -
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 2
. 6 . 0 (7) -
NEWS for Ruby 2
. 7 . 0 (6) -
ruby 1
. 8 . 3 feature (12)
検索結果
-
Range (38102.0)
-
範囲オブジェクトのクラス。 範囲オブジェクトは文字どおり何らかの意味での範囲を表します。数の範囲はもちろん、 日付の範囲や、「"a" から "z" まで」といった文字列の範囲を表すこともできます。
...囲オブジェクトは、Range.new を用いるほか、範囲演算子(`..' または `...')を
用いた d:spec/operator#range で生成できます。
いずれの方法でも始端と終端を与えます。
//emlist[範囲オブジェクトの例][ruby]{
Range.new(1, 5) # 1 以上 5 以......範囲に含まれるかどうかを判定][ruby]{
p (1..5).cover?(6) # => false
p (1..5).cover?(5) # => true
p (1...5).cover?(5) # => false
//}
Range#cover? メソッドでの判定には演算子 <=> が使われます。
当然、始端と終端は <=> メソッドで比較可能である(n......クト自体を破壊的に変更することはできません。
ですので、一度生成された Range のオブジェクトの指し示す範囲は
決して変更することはできません。
//emlist[][ruby]{
range = 1..10
range.first # => 1
range.first = 1 # => NoMethodError
//}......囲オブジェクト」
を作ることができるようになりました。
//emlist[終端を持たない範囲オブジェクト][ruby]{
p Range.new(1, nil) # 1 以上(上限無し)を表す
p(1..nil) # 同上
p(1..) # 同上(略した書き方)
//}
==== 機......囲オブジェクト」
を作ることができるようになりました。
//emlist[終端を持たない範囲オブジェクト][ruby]{
p Range.new(1, nil) # 1 以上(上限無し)を表す
p(1..nil) # 同上
p(1..) # 同上(略した書き方)
//}
また、Ru......で、一度生成された Range のオブジェクトの指し示す範囲は
決して変更することはできません。
//emlist[][ruby]{
range = 1..10
range.first # => 1
range.first = 1 # => NoMethodError
//}
また、Ruby 3.0.0 からすべての Range オブジェクトは freeze... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (228.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への変更点(まとめ)/サポートプラットフォームの追加>))
...]
: ((<Process::GID>)) [new]
: ((<Process::Sys>)) [new]
: ((<Signal>)) モジュール [new]
: ((<Process::Status>)) [new]
: ((<NoMethodError>)) [new]
((<Process::Status>)) の追加により、(({$?})) の値も整数からこのクラ
スのインスタンスになりまし......ました。
((<ruby-core:00927>))
: ((<NameError>)) & ((<NoMethodError>)) [change]
NameError を StandardError のサブクラスに戻しました。
クラス階層は以下のようになりました。
NoMethodError < NameError < StandardError.
: ((<Interrupt>))......ess::Status#pid|Process::Status/pid>)) [new]
追加
=== Range
: ((<Range#step|Range/step>)) [new]
追加。step ごとの要素で繰り返します。
: ((<Range#include?|Range/include?>)) [new]
: ((<Range#member?|Range/member?>)) [new]
追加
=== Regexp
: ((<Reg... -
NEWS for Ruby 2
. 7 . 0 (96.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...bar
lambda
end
bar { puts "Hello" } #=> tried to create Proc object without a block (ArgumentError)
//}
==== その他の変更
* 始端なしRangeが実験的に導入されました。
caseやComparable#clampや定数やDSLなどで便利かもしれません。
14799
//emlist[][rub......ワード引数やブロックを含む)を bar に転送します。
注意点として括弧は必須です。「bar ...」は終端なし Range と解釈されます。
//emlist[][ruby]{
def foo(...)
bar(...)
end
//}
* 「$SAFE」の参照や代入は警告が表示されるように......=> 1
3.clamp(0..2) #=> 2
# With beginless and endless ranges:
-1.clamp(0..) #=> 0
3.clamp(..2) #=> 2
//}
* Complex
* 新規メソッド
* Complex#<=>が追加されました。
その結果、「0 <=> 0i」がNoMethodErrorを発生しなくなりました。 15857
* Dir... -
NEWS for Ruby 2
. 6 . 0 (78.0) -
NEWS for Ruby 2.6.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...* 定数名の先頭の文字に ASCII 以外の大文字も使えるようになりました。 13770
* 終端なし Range が導入されました。 終端なし Range は (0..) や (0...) のように使うことができます。 12912
典型的なユースケースは以下の通......Python のスライスのようなものを表現するために使えます。
このクラスのインスタンスは Numeric#step や Range#step で得られます。
* Enumerator::Chain
* 1個の Enumerator で複数の Enumerable の連鎖を表現する新しいクラスで......* NilClass
* 新規メソッド
* 互換性のため、NilClass#=~ が追加されました。 15231
* NoMethodError
* 新規オプション
* NoMethodError.new に :receiver オプションが追加されて
Ruby コードからも設定できるようになりま... -
NEWS for Ruby 2
. 0 . 0 (30.0) -
NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...uffle! と Array#sample の random パラメータには最大値のみを指定することが可能になりました
* Array#values_at に Range オブジェクトを与えた場合、配列の範囲外のインデックスについては nil を返します
* Enumerable
* 追加: En......#eql? を削除。
* Process
* 追加: Process#getsid session id を取得します(unix のみ)。
* Range
* 追加: Range#size サイズの遅延評価
* 追加: Range#bsearch 二分探索
* RubyVM (MRI specific)
* 追加: RubyVM::InstructionSequence.of to get the instruc......itive now raise TypeError when calling to_der on an
instance whose value is nil. All instances of OpenSSL::ASN1::Constructive
raise NoMethodError in the same case. Constructing such values is still
permitted.
* TLS 1.1 & 1.2 support by setting OpenSSL::SSL::SSLContext#ssl_versi... -
ruby 1
. 8 . 3 feature (18.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
...2 -e 'p ("x".taint[1..-1]).tainted?'
false
$ ruby-1.8.3 -e 'p ("x".taint[1..-1]).tainted?'
true
Range オブジェクトが taint されている場合、"string"[range] も taint されるようになりました。((<ruby-dev:27121>))
$ ruby-1.8.2 -e 'p ("x"[(0..-1).taint]......"bar"
end
foo2.bar
$ ruby-1.8.2 -r delegate test_dlg.rb
test_dlg.rb:6: undefined method `bar' for #<Object:0x4021b0a0> (NoMethodError)
$ ruby-1.8.3 -r delegate test_dlg.rb
bar
=== 2005-06-20
: DBM#closed? [lib] [new]
: GDBM#closed? [lib] [new]
: SDBM#closed? [li...