484件ヒット
[101-200件を表示]
(0.080秒)
別のキーワード
クラス
- Array (21)
-
Enumerator
:: Lazy (48) - FrozenError (6)
- KeyError (16)
- Module (12)
- Numeric (93)
- Object (96)
- OptionParser (12)
- Proc (12)
- Random (36)
- Range (72)
- String (12)
- StringIO (12)
- StringScanner (24)
モジュール
- Comparable (12)
検索結果
先頭5件
-
Module
# include(*mod) -> self (55.0) -
モジュール mod をインクルードします。
...@raise ArgumentError 継承関係が循環してしまうような include を行った場合に発生します。
//emlist[例][ruby]{
module M
end
module M2
include M
end
module M
include M2
end
//}
実行結果:
-:3:in `append_features': cyclic include detected (ArgumentError)......は多重継承の代わりに用いられており、 mix-in とも呼びます。
//emlist[例][ruby]{
class C
include FileTest
include Math
end
p C.ancestors
# => [C, Math, FileTest, Object, Kernel]
//}
モジュールの機能追加は、クラスの継承関係の間にそのモジュ......二回以上 include すると二回目以降は無視されます。
//emlist[例][ruby]{
module M
end
class C1
include M
end
class C2 < C1
include M # この include は無視される
end
p C2.ancestors # => [C2, C1, M, Object, Kernel]
//}
引数に複数のモジュールを指定し... -
Proc
# lambda? -> bool (43.0) -
手続きオブジェクトの引数の取扱が厳密であるならば true を返します。
...れる
proc{|a,b| [a,b]}.call([1,2]) # => [1,2]
# lambdaの場合これらはすべて ArgumentError となる
# &が付いた仮引数で生成される Proc は lambda? が偽となる
def n(&b) b.lambda? end
n {} # => false
# &が付いた実引数によるものは、lambda?が元の Procオ......ambda?が真となる
def m() end
method(:m).to_proc.lambda? #=> true
# Module#define_method は特別扱いで、
# これで定義されたメソッドの引数は常に厳密に取り扱われる
class C
define_method(:d) {}
end
C.new.d(1,2) #=> ArgumentError
C.new.method(:d).to_proc.lam......bda? #=> true
class C
define_method(:e, &proc {})
end
C.new.e(1,2) #=> ArgumentError
C.new.method(:e).to_proc.lambda? #=> true
//}... -
Comparable
# clamp(min , max) -> object (37.0) -
self を範囲内に収めます。
....begin を、
self <=> range.end が正数を返したときは range.end を、
それ以外の場合は self を返します。
range.begin が nil の場合、range.begin は self よりも小さい値として扱われます。
range.end が nil の場合、range.end は 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 (37.0) -
self を範囲内に収めます。
....begin を、
self <=> range.end が正数を返したときは range.end を、
それ以外の場合は self を返します。
range.begin が nil の場合、range.begin は self よりも小さい値として扱われます。
range.end が nil の場合、range.end は 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
//}... -
Object
# enum _ for(method = :each , *args) -> Enumerator (37.0) -
Enumerator.new(self, method, *args) を返します。
...raise ArgumentError, "#{n} is negative!" if n < 0
unless block_given?
# __method__ はここでは :repeat
return to_enum(__method__, n) do
# size メソッドが nil でなければ size * n を返す。
sz = size
sz * n if sz
end
end
each......do |*val|
n.times { yield *val }
end
end
end
%i[hello world].repeat(2) { |w| puts w }
# => 'hello', 'hello', 'world', 'world'
enum = (1..14).repeat(3)
# => #<Enumerator: 1..14:repeat(3)>
enum.first(4) # => [1, 1, 1, 2]
enum.size # => 42
//}
@see Enumerator, Enumerator#size... -
Object
# enum _ for(method = :each , *args) {|*args| . . . } -> Enumerator (37.0) -
Enumerator.new(self, method, *args) を返します。
...raise ArgumentError, "#{n} is negative!" if n < 0
unless block_given?
# __method__ はここでは :repeat
return to_enum(__method__, n) do
# size メソッドが nil でなければ size * n を返す。
sz = size
sz * n if sz
end
end
each......do |*val|
n.times { yield *val }
end
end
end
%i[hello world].repeat(2) { |w| puts w }
# => 'hello', 'hello', 'world', 'world'
enum = (1..14).repeat(3)
# => #<Enumerator: 1..14:repeat(3)>
enum.first(4) # => [1, 1, 1, 2]
enum.size # => 42
//}
@see Enumerator, Enumerator#size... -
Object
# to _ enum(method = :each , *args) -> Enumerator (37.0) -
Enumerator.new(self, method, *args) を返します。
...raise ArgumentError, "#{n} is negative!" if n < 0
unless block_given?
# __method__ はここでは :repeat
return to_enum(__method__, n) do
# size メソッドが nil でなければ size * n を返す。
sz = size
sz * n if sz
end
end
each......do |*val|
n.times { yield *val }
end
end
end
%i[hello world].repeat(2) { |w| puts w }
# => 'hello', 'hello', 'world', 'world'
enum = (1..14).repeat(3)
# => #<Enumerator: 1..14:repeat(3)>
enum.first(4) # => [1, 1, 1, 2]
enum.size # => 42
//}
@see Enumerator, Enumerator#size... -
Object
# to _ enum(method = :each , *args) {|*args| . . . } -> Enumerator (37.0) -
Enumerator.new(self, method, *args) を返します。
...raise ArgumentError, "#{n} is negative!" if n < 0
unless block_given?
# __method__ はここでは :repeat
return to_enum(__method__, n) do
# size メソッドが nil でなければ size * n を返す。
sz = size
sz * n if sz
end
end
each......do |*val|
n.times { yield *val }
end
end
end
%i[hello world].repeat(2) { |w| puts w }
# => 'hello', 'hello', 'world', 'world'
enum = (1..14).repeat(3)
# => #<Enumerator: 1..14:repeat(3)>
enum.first(4) # => [1, 1, 1, 2]
enum.size # => 42
//}
@see Enumerator, Enumerator#size... -
Enumerator
:: Lazy # enum _ for(method = :each , *args) -> Enumerator :: Lazy (31.0) -
Object#to_enum と同じですが、Enumerator::Lazy を返します。
...# 例:[1,2,3].repeat(2) #=> [1,1,2,2,3,3]
def repeat(n)
raise ArgumentError if n < 0
if block_given?
each do |*val|
n.times { yield *val }
end
else
to_enum(:repeat, n)
end
end
end
r = 1..10
p r.map{|n| n**2}.repeat(2).first(5)
#=> [1, 1, 4, 4, 9]
r... -
Enumerator
:: Lazy # enum _ for(method = :each , *args) {|*args| block} -> Enumerator :: Lazy (31.0) -
Object#to_enum と同じですが、Enumerator::Lazy を返します。
...# 例:[1,2,3].repeat(2) #=> [1,1,2,2,3,3]
def repeat(n)
raise ArgumentError if n < 0
if block_given?
each do |*val|
n.times { yield *val }
end
else
to_enum(:repeat, n)
end
end
end
r = 1..10
p r.map{|n| n**2}.repeat(2).first(5)
#=> [1, 1, 4, 4, 9]
r...