31件ヒット
[1-31件を表示]
(0.031秒)
キーワード
- ConditionVariable (9)
- Numeric (11)
- Symbol (11)
検索結果
-
Thread
:: ConditionVariable (39.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
...。
以下も ConditionVariable を理解するのに参考になります。
https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF
=== Condition Variable とは
あるスレッド A が排他領域で動いていたとします。スレッド A は現在空いていない
リソー......
class TinyQueue
def initialize(max=2)
@max = max
@full = ConditionVariable.new
@empty = ConditionVariable.new
@mutex = Mutex.new
@q = []
end
def count
@q.size
end
def enq(v)
@mutex.synchronize{
@full.wait(@mutex) if count ==......@empty.signal if count == 1
}
end
def deq
@mutex.synchronize{
@empty.wait(@mutex) if count == 0
v = @q.shift
@full.signal if count == (@max - 1)
v
}
end
alias send enq
alias recv deq
end
if __FILE__ == $0
q = TinyQueue.... -
Numeric (33.0)
-
数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。
...合があります。
Numeric#coerce メソッドを使うことによって異なる数値クラス間で演算を行うこともできます。
=== 数値関連のメソッドを実際に定義しているクラス一覧
ほとんどの数値関連のメソッドはサブクラスで再定義......<=> | o - o o o o -
== | - - o o o o o
=== | - - o o o - -......o o - - -
~ | - - o o - - -
=== 丸めメソッドの動作一覧
Numeric#ceil, Numeric#floor, Numeric#round, Numeric#truncate
のふるまいの違いの表です。左の実......- -
<=> | o o o o -
== | - o o o o
=== | - o o - -
> | - o......| | - o - - -
~ | - o - - -
=== 丸めメソッドの動作一覧
Numeric#ceil, Numeric#floor, Numeric#round, Numeric#truncate
のふるまいの違いの表です。左の実... -
Symbol (21.0)
-
シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。
...)。
そうでない文字列をシンボルにしたい場合は残りの表記か String#intern を使用してください。
=== シンボルの実装と用途
==== 実装
Rubyの内部実装では、メソッド名や変数名、定数名、クラス名など
の`名前'を整数で管理し......mutable (変更不可)であり、同値ならば必ず同一です。
p "abc" == "abc" #=> true
p "abc".equal?("abc") #=> false
p :abc == :abc #=> true
p :abc.equal?(:abc) #=> true ←同値ならば同一
==== 用途
実用面では、シンボルは文字の意味を明確にします......っています。
Symbol クラスのメソッドには、String クラスのメソッドと同名で似た働きをするものもあります。
==== GC
内部的にシンボルは
* シンボルの情報を記録するテーブル
* そのテーブルの要素を指し示すポインタ...