別のキーワード
クラス
モジュール
- Comparable (65)
- Enumerable (44)
キーワード
- * (33)
- < (11)
- <= (11)
- > (11)
- >= (11)
- [] (15)
- begin (11)
- between? (11)
-
chunk
_ while (8) - clamp (10)
- clone (11)
- collect (11)
-
collect
_ concat (11) - detect (22)
- digits (22)
- drop (11)
- dup (11)
- end (11)
-
enum
_ for (44) - fileno (11)
- filter (6)
-
filter
_ map (5) - find (22)
-
find
_ all (11) - first (44)
-
flat
_ map (11) - flatten (11)
- flatten! (11)
- gcd (11)
- gcdlcm (11)
- include (11)
- inspect (11)
- join (11)
- key (7)
- lambda? (11)
- last (44)
- lcm (11)
- map (11)
-
marshal
_ load (11) - name= (9)
- ord (11)
- pack (19)
-
public
_ send (22) - rand (33)
- read (11)
- receiver (12)
- reject (11)
- replicate (11)
- sample (44)
- select (11)
- shift (22)
- step (94)
- take (11)
-
to
_ enum (44) -
to
_ i (22) -
to
_ s (11) - unpack (11)
- with (2)
検索結果
先頭5件
-
Array
# pack(template) -> String (33.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...0")
# => "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg=="
"".unpack("m0") # => [""]
"AA==\n".unpack("m0") # => ArgumentError (invalid base64)
"AA==".unpack("m0") # => ["\x00"]
"YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==".unpack("m0")......x00\x00\x00\x00\x00\x00\x00\x00"
["abc"].pack("P3") # => "\xA0\xEE\er\x84U\x00\x00"
["abc"].pack("P4") # => ArgumentError: too short buffer for P(3 for 4)
[""].pack("P") # => ArgumentError: too short buffer for P(0 for 1)
//}
: u
uuencodeされた文字列
//emlist[][ruby]{
[""].pack("u")......7, 98].pack("CxC") # => "a\x00b"
[97, 98].pack("Cx3C") # => "a\x00\x00\x00b"
"abc".unpack("CxC") # => [97, 99]
"abc".unpack("Cx3C") # => ArgumentError: x outside of string
//}
: X
1バイト後退
//emlist[][ruby]{
[97, 98, 99].pack("CCXC") # => "ac"
"abcdef".unpack("x*XC") # => [102]
//... -
Array
# pack(template , buffer: String . new) -> String (33.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...0")
# => "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg=="
"".unpack("m0") # => [""]
"AA==\n".unpack("m0") # => ArgumentError (invalid base64)
"AA==".unpack("m0") # => ["\x00"]
"YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==".unpack("m0")......x00\x00\x00\x00\x00\x00\x00\x00"
["abc"].pack("P3") # => "\xA0\xEE\er\x84U\x00\x00"
["abc"].pack("P4") # => ArgumentError: too short buffer for P(3 for 4)
[""].pack("P") # => ArgumentError: too short buffer for P(0 for 1)
//}
: u
uuencodeされた文字列
//emlist[][ruby]{
[""].pack("u")......7, 98].pack("CxC") # => "a\x00b"
[97, 98].pack("Cx3C") # => "a\x00\x00\x00b"
"abc".unpack("CxC") # => [97, 99]
"abc".unpack("Cx3C") # => ArgumentError: x outside of string
//}
: X
1バイト後退
//emlist[][ruby]{
[97, 98, 99].pack("CCXC") # => "ac"
"abcdef".unpack("x*XC") # => [102]
//... -
String
# unpack(template) -> Array (33.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
...0")
# => "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg=="
"".unpack("m0") # => [""]
"AA==\n".unpack("m0") # => ArgumentError (invalid base64)
"AA==".unpack("m0") # => ["\x00"]
"YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==".unpack("m0")......x00\x00\x00\x00\x00\x00\x00\x00"
["abc"].pack("P3") # => "\xA0\xEE\er\x84U\x00\x00"
["abc"].pack("P4") # => ArgumentError: too short buffer for P(3 for 4)
[""].pack("P") # => ArgumentError: too short buffer for P(0 for 1)
//}
: u
uuencodeされた文字列
//emlist[][ruby]{
[""].pack("u")......7, 98].pack("CxC") # => "a\x00b"
[97, 98].pack("Cx3C") # => "a\x00\x00\x00b"
"abc".unpack("CxC") # => [97, 99]
"abc".unpack("Cx3C") # => ArgumentError: x outside of string
//}
: X
1バイト後退
//emlist[][ruby]{
[97, 98, 99].pack("CCXC") # => "ac"
"abcdef".unpack("x*XC") # => [102]
//... -
Proc
# lambda? -> bool (21.0) -
手続きオブジェクトの引数の取扱が厳密であるならば true を返します。
...[a,b]}.call(1) # => [1, nil]
# 配列1つだと展開される
proc{|a,b| [a,b]}.call([1,2]) # => [1,2]
# lambdaの場合これらはすべて ArgumentError となる
# &が付いた仮引数で生成される Proc は lambda? が偽となる
def n(&b) b.lambda? end
n {} # => false
# &が付い......ソッドの引数は常に厳密に取り扱われる
class C
define_method(:d) {}
end
C.new.d(1,2) #=> ArgumentError
C.new.method(:d).to_proc.lambda? #=> true
class C
define_method(:e, &proc {})
end
C.new.e(1,2) #=> ArgumentError
C.new.method(:e).to_proc.lambda? #=> true
//}... -
Encoding
# replicate(name) -> Encoding (19.0) -
レシーバのエンコーディングを複製(replicate)します。 複製されたエンコーディングは元のエンコーディングと同じバイト構造を持たなければなりません。 name という名前のエンコーディングが既に存在する場合は ArgumentError を発生します。
...と同じバイト構造を持たなければなりません。
name という名前のエンコーディングが既に存在する場合は ArgumentError を発生します。
Ruby 3.2 から非推奨となり、Ruby 3.3 で削除予定です。
//emlist[][ruby]{
encoding = Encoding::UTF_8.repli... -
Array
# join(sep = $ , ) -> String (15.0) -
配列の要素を文字列 sep を間に挟んで連結した文字列を返します。
...ような結果になります。
//emlist[例][ruby]{
ary = [1,2,3]
ary.push ary
p ary # => [1, 2, 3, [...]]
p ary.join # => ArgumentError: recursive array join
//}
@param sep 間に挟む文字列を指定します。nil のときは空文字列を使います。
文字......に文字列以外の(暗黙の型変換が行えない)オブジェクト
を指定した場合に発生します。
@raise ArgumentError 配列要素が自身を含むような無限にネストした配列に対
して join を呼んだ場合に発生しま... -
Comparable
# clamp(min , max) -> object (15.0) -
self を範囲内に収めます。
...の上端を表すオブジェクトを指定します。
@param range 範囲を表す Range オブジェクトを指定します。
@raise ArgumentError rangeが終端を含まない範囲オブジェクトであり、
終端が nil でないときに発生します。
//eml......]{
12.clamp(0..100) #=> 12
523.clamp(0..100) #=> 100
-3.123.clamp(0..100) #=> 0
'd'.clamp('a'..'f') #=> 'd'
'z'.clamp('a'..'f') #=> 'f'
100.clamp(0...100) # ArgumentError
//}
//emlist[range の始端か終端が nil の場合][ruby]{
-20.clamp(0..) #=> 0
523.clamp(..100) #=> 100
//}... -
Comparable
# clamp(range) -> object (15.0) -
self を範囲内に収めます。
...の上端を表すオブジェクトを指定します。
@param range 範囲を表す Range オブジェクトを指定します。
@raise ArgumentError rangeが終端を含まない範囲オブジェクトであり、
終端が nil でないときに発生します。
//eml......]{
12.clamp(0..100) #=> 12
523.clamp(0..100) #=> 100
-3.123.clamp(0..100) #=> 0
'd'.clamp('a'..'f') #=> 'd'
'z'.clamp('a'..'f') #=> 'f'
100.clamp(0...100) # ArgumentError
//}
//emlist[range の始端か終端が nil の場合][ruby]{
-20.clamp(0..) #=> 0
523.clamp(..100) #=> 100
//}... -
Data
# with(**kwargs) -> Data (15.0) -
self をコピーしたオブジェクトを返します。
...エラーとなります。
@param kwargs コピーされたオブジェクトに設定されるメンバの値を指定します。
@raise ArgumentError 存在しないメンバを指定した場合に発生します。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
dog1 = Dog.new("Fred", 5......6) # => #<data Dog name="Fred", age=6>
p dog1 # => #<data Dog name="Fred", age=5>
dog3 = dog1.with(type: "Terrier") # => ArgumentError (unknown keyword: :type)
# メンバのオブジェクトはコピーされず、同じオブジェクトを参照する。
dog1.name.upcase!... -
Enumerable
# detect(ifnone = nil) -> Enumerator (15.0) -
要素に対してブロックを評価した値が真になった最初の要素を返します。
...初の 3 の倍数を探す
p [1, 2, 3, 4, 5].find {|i| i % 3 == 0 } # => 3
p [2, 2, 2, 2, 2].find {|i| i % 3 == 0 } # => nil
# ifnone の使用例
ifnone = proc { raise ArgumentError, "item not found" }
p [1, 2, 3, 4, 5].find(ifnone) {|i| i % 7 == 0 }
# ArgumentError: item not found
//}... -
Enumerable
# detect(ifnone = nil) {|item| . . . } -> object (15.0) -
要素に対してブロックを評価した値が真になった最初の要素を返します。
...初の 3 の倍数を探す
p [1, 2, 3, 4, 5].find {|i| i % 3 == 0 } # => 3
p [2, 2, 2, 2, 2].find {|i| i % 3 == 0 } # => nil
# ifnone の使用例
ifnone = proc { raise ArgumentError, "item not found" }
p [1, 2, 3, 4, 5].find(ifnone) {|i| i % 7 == 0 }
# ArgumentError: item not found
//}... -
Enumerable
# find(ifnone = nil) -> Enumerator (15.0) -
要素に対してブロックを評価した値が真になった最初の要素を返します。
...初の 3 の倍数を探す
p [1, 2, 3, 4, 5].find {|i| i % 3 == 0 } # => 3
p [2, 2, 2, 2, 2].find {|i| i % 3 == 0 } # => nil
# ifnone の使用例
ifnone = proc { raise ArgumentError, "item not found" }
p [1, 2, 3, 4, 5].find(ifnone) {|i| i % 7 == 0 }
# ArgumentError: item not found
//}...