種類
- インスタンスメソッド (194)
- 文書 (99)
- ライブラリ (17)
- クラス (11)
- モジュール (11)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) -
NEWS for Ruby 2
. 0 . 0 (11) -
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 2
. 6 . 0 (6) -
NEWS for Ruby 2
. 7 . 0 (5) -
NEWS for Ruby 3
. 0 . 0 (4) - Random (11)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (11)
- Ruby用語集 (11)
- [] (66)
- include? (5)
- member? (5)
- pack (19)
- pack テンプレート文字列 (11)
- profile (6)
-
ruby 1
. 8 . 3 feature (11) - slice (66)
- unpack (11)
- yaml (11)
- 演算子式 (11)
検索結果
先頭5件
-
Range
# ===(obj) -> bool (39178.0) -
始端と終端の中に obj があるとき、true を返します。 そうでないとき、false を返します。
...false を返します。
Range#=== は主に case 式での比較に用いられます。
<=> メソッドによる演算により範囲内かどうかを判定するには Range#cover? を使用してください。
始端・終端・引数が数値であれば、 Range#cover? と同様の動き......クトを指定します。
//emlist[例][ruby]{
p ("a" .. "c").include?("b") # => true
p ("a" .. "c").include?("B") # => false
p ("a" .. "c").include?("ba") # => false
p ("a" .. "c").cover?("ba") # => true
p (1 .. 3).include?(1.5) # => true
//}
@see d:spec/control#case
@see Range#cover?......るとき、true を返します。
そうでないとき、false を返します。
Range#=== は主に case 式での比較に用いられます。
//emlist[例][ruby]{
p (0...50) === 79 #=> false
p (60...80) === 79 #=> true
case 79
when 0...60 then puts "low"
when 60...80 then puts "medi......で呼んでいました。
しかし、2.6 以降では、(文字列を除いて) Range#cover? と同様の処理をするように切り替わりました。
ただし、=== は、Range#cover? のように Range オブジェクトを引数にはとる設計はありません。
//emlist[例][ru......ay - 100...Date.today + 100).cover?(DateTime.now) #=> true
p (Date.today - 100...Date.today + 100) === DateTime.now #=> true
# 2.5 以前は、=== は、include? と同じく比較できず false を返していました。
//}
@see d:spec/control#case
@see Range#include?, Range#cover?......ime.now) #=> true
p (Date.today - 100...Date.today + 100) === DateTime.now #=> true
# 2.5 以前は、=== は、include? と同じく比較できず false を返していました。
//}
2.7 以降の === は、文字列も Range#cover? と同様の処理をするようになりました... -
Range (38102.0)
-
範囲オブジェクトのクラス。 範囲オブジェクトは文字どおり何らかの意味での範囲を表します。数の範囲はもちろん、 日付の範囲や、「"a" から "z" まで」といった文字列の範囲を表すこともできます。
...。
==== 作り方
範囲オブジェクトは、Range.new を用いるほか、範囲演算子(`..' または `...')を
用いた d:spec/operator#range で生成できます。
いずれの方法でも始端と終端を与えます。
//emlist[範囲オブジェクトの例][ruby]{
Range.new......# 1 以上 5 未満
//}
この例で分かるように、範囲オブジェクトは終端を含む範囲も含まない範囲も表せます。
==== 機能
範囲オブジェクトは範囲を表しているので、基本的な機能として「ある値がその範囲に
含まれるか否......範囲に含まれるかどうかを判定][ruby]{
p (1..5).cover?(6) # => false
p (1..5).cover?(5) # => true
p (1...5).cover?(5) # => false
//}
Range#cover? メソッドでの判定には演算子 <=> が使われます。
当然、始端と終端は <=> メソッドで比較可能である(n......した。
//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......囲オブジェクト」
を作ることもできるようになりました。
//emlist[始端を持たない範囲オブジェクト][ruby]{
p Range.new(nil, 5) # 5 以下(下限無し)を表す
p(nil..5) # 同上
p(..5) # 同上(略した書き方)
//}
始端も... -
Range
# include?(obj) -> bool (24024.0) -
obj が範囲内に含まれている時に true を返します。 そうでない場合は、false を返します。
...false を返します。
Range#=== は主に case 式での比較に用いられます。
<=> メソッドによる演算により範囲内かどうかを判定するには Range#cover? を使用してください。
始端・終端・引数が数値であれば、 Range#cover? と同様の動き......クトを指定します。
//emlist[例][ruby]{
p ("a" .. "c").include?("b") # => true
p ("a" .. "c").include?("B") # => false
p ("a" .. "c").include?("ba") # => false
p ("a" .. "c").cover?("ba") # => true
p (1 .. 3).include?(1.5) # => true
//}
@see d:spec/control#case
@see Range#cover?... -
Range
# member?(obj) -> bool (24024.0) -
obj が範囲内に含まれている時に true を返します。 そうでない場合は、false を返します。
...false を返します。
Range#=== は主に case 式での比較に用いられます。
<=> メソッドによる演算により範囲内かどうかを判定するには Range#cover? を使用してください。
始端・終端・引数が数値であれば、 Range#cover? と同様の動き......クトを指定します。
//emlist[例][ruby]{
p ("a" .. "c").include?("b") # => true
p ("a" .. "c").include?("B") # => false
p ("a" .. "c").include?("ba") # => false
p ("a" .. "c").cover?("ba") # => true
p (1 .. 3).include?(1.5) # => true
//}
@see d:spec/control#case
@see Range#cover?... -
Object
# ===(other) -> bool (18112.0) -
case 式で使用されるメソッドです。d:spec/control#case も参照してください。
...when 節の式をレシーバーとして === を呼び出すことに注意してください。
また Enumerable#grep でも使用されます。
@param other 比較するオブジェクトです。
//emlist[][ruby]{
age = 12
# (0..2).===(12), (3..6).===(12), ... が実行される
result =......String class. But don't hit."
else
"unknown"
end
end
puts check([]) #=> unknown
puts check("mash-up in Ruby on Rails") #=> instance of String class. But not hit...
puts check("<Ruby's world>") #=> hit! <Ruby's world>
//}
@see Object#==, Range#===, Module#===, Regexp#===, Enumerable#grep... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (642.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への変更点(まとめ)/サポートプラットフォームの追加>))
...$! と rescue 節の例外クラスとは ((<Module#===|Module/===>))
を使って比較するようになりました。
以前は kind_of? による比較なので基本的な動作に変わりはありませんが、
SystemCallError.=== は特別に errno が一致する例外を同じと......>)) [new]
((<Process::Status>)) の追加により、(({$?})) の値も整数からこのクラ
スのインスタンスになりました。
=== クラス階層
: ((<File::Constants>))
File::Constants は、File クラスでなく IO クラスが include するように
なりまし......ocess::Status/pid>)) [new]
追加
=== Range
: ((<Range#step|Range/step>)) [new]
追加。step ごとの要素で繰り返します。
: ((<Range#include?|Range/include?>)) [new]
: ((<Range#member?|Range/member?>)) [new]
追加
=== Regexp
: ((<Regexp#to_s|Regexp/to... -
ruby 1
. 8 . 3 feature (342.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
...http://dev.ctor.org/soap4r/wiki/Changes-154>))
* ((<URL:http://dev.ctor.org/soap4r/wiki/Changes-155>))
== 1.8.2 (2004-12-25) -> 1.8.3 (2005-09-21)
=== 2005-09-19
: FileUtils.remove_entry_secure [lib] [new]
: FileUtils.remove_entry [lib] [new]
: FileUtils.chmod_R [lib] [new]
: F......
=== 2005-09-16
: File.join [ruby] [compat]
型チェックを厳密にするようになりました。
$ ruby-1.8.2 -e 'p File.join(1, 2)'
"1/2"
$ ruby-1.8.3 -e 'p File.join(1, 2)'
-e:1:in `join': can't convert Fixnum into String (TypeError)
from -e:1
=== 200......true
Range オブジェクトが taint されている場合、"string"[range] も taint されるようになりました。((<ruby-dev:27121>))
$ ruby-1.8.2 -e 'p ("x"[(0..-1).taint]).tainted?'
false
$ ruby-1.8.3 -e 'p ("x"[(0..-1).taint]).tainted?'
true
=== 2005-08-... -
String
# [](range) -> String (202.0) -
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
...
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
@param range 取得したい文字列の範囲を示す Range オブジェクト
=== rangeオブジェクトが終端を含む場合
インデックスと文字列の対応については以下の......[2..4] # => 'cde'
range.last が文字列の長さ以上のときは
(文字列の長さ - 1) を指定したものとみなされます。
range.first が 0 より小さいか文字列の長さより大きいときは nil を
返します。ただし range.first および range.last のどちら......# => ""
'abcd'[ 4 .. 2] # => ""
'abcd'[ 5 .. 2] # => nil
'abcd'[-3 .. 2] # => "bc"
'abcd'[-4 .. 2] # => "abc"
'abcd'[-5 .. 2] # => nil
//}
=== rangeオブジェクトが終端を含まない場合
文字列と「隙間」の関係については以下の模式図を参照してください... -
String
# slice(range) -> String (202.0) -
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
...
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
@param range 取得したい文字列の範囲を示す Range オブジェクト
=== rangeオブジェクトが終端を含む場合
インデックスと文字列の対応については以下の......[2..4] # => 'cde'
range.last が文字列の長さ以上のときは
(文字列の長さ - 1) を指定したものとみなされます。
range.first が 0 より小さいか文字列の長さより大きいときは nil を
返します。ただし range.first および range.last のどちら......# => ""
'abcd'[ 4 .. 2] # => ""
'abcd'[ 5 .. 2] # => nil
'abcd'[-3 .. 2] # => "bc"
'abcd'[-4 .. 2] # => "abc"
'abcd'[-5 .. 2] # => nil
//}
=== rangeオブジェクトが終端を含まない場合
文字列と「隙間」の関係については以下の模式図を参照してください... -
NEWS for Ruby 2
. 7 . 0 (144.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.6.0 以降の変更
=== 言語仕様の変更
==== パターンマッチ
* パターンマッチが実験的機能として導入されました。 14912
//emlist[][ruby]{
case [0,......ことに注意してください。
* パターンマッチに対する警告は「-W:no-experimental」オプションで抑制できます。
==== 3.0 に向けてのキーワード引数の仕様変更
* キーワード引数と位置引数の自動変換は自動変換が非推奨とな....../emlist[][ruby]{
def bar
lambda
end
bar { puts "Hello" } #=> tried to create Proc object without a block (ArgumentError)
//}
==== その他の変更
* 始端なしRangeが実験的に導入されました。
caseやComparable#clampや定数やDSLなどで便利かもしれません。... -
NEWS for Ruby 2
. 6 . 0 (108.0) -
NEWS for Ruby 2.6.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...れた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.5.0 以降の変更
=== 言語仕様の変更
* $SAFE はプロセスグローバルで扱われることになると共に、0以外を設定した後に0に戻せる......* 定数名の先頭の文字に ASCII 以外の大文字も使えるようになりました。 13770
* 終端なし Range が導入されました。 終端なし Range は (0..) や (0...) のように使うことができます。 12912
典型的なユースケースは以下の通......例外の Exception#cause も表示されるようになりました。 8257
* フリップフロップが非推奨になりました。 5400
=== 組み込みクラスの更新
* Array
* 新規メソッド
* Array#union と Array#difference 14097
* 変更されたメソッ... -
NEWS for Ruby 2
. 5 . 0 (78.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...れた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.4.0 以降の変更
=== 言語仕様の変更
* トップレベルの定数参照を削除しました 11547
* do/end ブロック内部で rescue/else/ensure を......なりました 12906
* 文字列の式展開内部の暗黙の to_s 呼び出しにも refinements が影響するようになりました 13812
=== 組み込みクラスの更新
* Array
* Array#append を追加 12746
* Array#prepend を追加 12746
* Data
* 非推奨になり......ransform_keys を追加 13583
* Hash#transform_keys! を追加 13583
* Hash#slice を追加 8499
* IO
* IO.copy_stream は copy_file_range(2) を使うようになりました。また、その実装が使えない場合は他の実装へフォールバックするようにしまし...