72件ヒット
[1-72件を表示]
(0.103秒)
クラス
- Array (12)
- BasicObject (24)
-
Net
:: POP3 (12)
モジュール
- Enumerable (24)
検索結果
先頭5件
-
Array
# count {|obj| . . . } -> Integer (24328.0) -
レシーバの要素数を返します。
...ブロックを評価して真になった要素の個数を
カウントして返します。
@param item カウント対象となる値。
//emlist[例][ruby]{
ary = [1, 2, 4, 2.0]
ary.count # => 4
ary.count(2) # => 2
ary.count{|x|x%2==0} # => 3
//}
@see Enumerable#count... -
Enumerable
# count {|obj| . . . } -> Integer (24328.0) -
レシーバの要素数を返します。
...価して真になった要素の個数を
カウントして返します。
@param item カウント対象となる値。
//emlist[例][ruby]{
enum = [1, 2, 4, 2].each
enum.count # => 4
enum.count(2) # => 2
enum.count{|x|x%2==0} # => 3
//}
@see Array#count... -
Net
:: POP3 # start(account , password) {|pop| . . . . } -> object (6301.0) -
サーバへ接続し、POP3のセッションを開始します。
...す。
@param account アカウント名文字列
@param password パスワード文字列
@raise IOError セッションが既に開始されている場合に発生します
@raise TimeoutError 接続がタイムアウトした場合に発生します
@raise Net::POPAuthenticationError 認証に......用しようとしたがサーバがAPOPを提供していない場合に発生します
@raise Net::POPError サーバが認証失敗以外のエラーを報告した場合に発生します
@raise Net::POPBadResponse サーバからの応答がプロトコル上不正であった場合に発生し... -
Enumerable
# sort _ by {|item| . . . } -> [object] (6225.0) -
ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。
...emlist[例][ruby]{
class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end
end
//}
Enumerable#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙げられます。
sort_by......ます。
従って downcase の実行速度が遅ければ sort の速度が致命的に低下します。
//emlist[][ruby]{
p ["BAR", "FOO", "bar", "foo"].sort {|a, b| a.downcase <=> b.downcase }
//}
一方、次のように sort_by を使うと downcase の実行回数は要素数と同じで......//emlist[][ruby]{
p ["BAR", "FOO", "bar", "foo"].sort_by {|v| v.downcase }
//}
以下の、実行回数の検証結果を参照してみてください。
//emlist[][ruby]{
class Integer
def count
$n += 1
self
end
end
ary = []
1.upto(1000) {|v| ary << rand(v) }
$n = 0
ary.sort {|a,b|... -
BasicObject
# !=(other) -> bool (6125.0) -
オブジェクトが other と等しくないことを判定します。
...オブジェクトが other と等しくないことを判定します。
デフォルトでは self == other を評価した後に結果を論理否定して返します。
このため、サブクラスで BasicObject#== を再定義しても != とは自動的に整合性が
とれるように......なっています。
ただし、 BasicObject#!= 自身や BasicObject#! を再定義した際には、ユーザーの責任で
整合性を保たなくてはなりません。
このメソッドは主に論理式の評価に伴って副作用を引き起こすことを目的に
再定義する......。
@param other 比較対象となるオブジェクト
@see BasicObject#==, BasicObject#!
//emlist[例][ruby]{
class NonequalityRecorder < BasicObject
def initialize
@count = 0
end
attr_reader :count
def !=(other)
@count += 1
super
end
end
recorder = NonequalityRecorder.ne... -
BasicObject
# ! -> bool (6025.0) -
オブジェクトを真偽値として評価し、その論理否定を返します。
...りません。
@return オブジェクトが偽であれば真、そうでない場合は偽
//emlist[例][ruby]{
class NegationRecorder < BasicObject
def initialize
@count = 0
end
attr_reader :count
def !
@count += 1
super
end
end
recorder = NegationRecorder.new
!recorde......r
!!!!!!!recorder
puts 'hoge' if !recorder
puts recorder.count #=> 3
//}
//emlist[例][ruby]{
class AnotherFalse < BasicObject
def !
true
end
end
another_false = AnotherFalse.new
# another_falseは*真*
puts "another false is a truth" if another_false
#=> "another false is a truth"
//}...