タグ

ブックマーク / docs.ruby-lang.org (5)

  • class TracePoint (Ruby 3.3 リファレンスマニュアル)

    [edit] 要約 Kernel.#set_trace_func と同様の機能をオブジェクト指向的な API で提供するクラスです。 例:例外に関する情報を収集する trace = TracePoint.new(:raise) do |tp| p [tp.lineno, tp.event, tp.raised_exception] end # => #<TracePoint:0x007f786a452448> trace.enable # => false 0 / 0 # => [5, :raise, #<ZeroDivisionError: divided by 0>] TracePoint.new または、TracePoint.trace で指定したブロックは、メソッドの引数(上記の例では :raise)に対応するイベントが発生した時に呼び出されます。 発生するイベントの詳細については

    hoppie
    hoppie 2019/05/30
  • class Queue (Ruby 1.8.7)

    クラスの継承リスト: Queue < Object < Kernel 要約 Queue はスレッド間の FIFO(first in first out) の通信路です。ス レッドが空のキューを読み出そうとすると停止します。キューになんら かの情報が書き込まれると実行は再開されます。 最大サイズが指定できる Queue のサブクラス SizedQueue も提供されています。 例 require 'thread' q = Queue.new th1 = Thread.start do while resource = q.pop puts resource end end [:resource1, :resource2, :resource3, nil].each{|r| q.push(r) } th1.join 実行すると以下のように出力します。 $ ruby que.rb resourc

    hoppie
    hoppie 2015/01/22
  • singleton method CSV.new (Ruby 1.9.3)

    new(data, options = Hash.new) -> CSV[permalink][rdoc] このメソッドは CSV ファイルを読み込んだり、書き出したりするために String か IO のインスタンスをラップします。 ラップされた文字列の先頭から読み込むことになります。 文字列に追記したい場合は CSV.generate を使用してください。 他の位置から処理したい場合はあらかじめそのように設定した StringIO を渡してください。 [PARAM] data: String か IO のインスタンスを指定します。 String のインスタンスを指定した場合、CSV#string を使用して 後からデータを取り出すことが出来ます。 [PARAM] options: CSV をパースするためのオプションをハッシュで指定します。 パフォーマンス上の理由でインスタンスメソッド

    hoppie
    hoppie 2014/10/21
  • メソッド呼び出し(super・ブロック付き・yield) (Ruby 1.9.3)

    super ブロック付きメソッド呼び出し yield ブロックパラメータの挙動 例: foo.bar() foo.bar bar() print "hello world\n" print Class.new Class::new 文法: [式 `.'] 識別子 [`(' 式 ... [`*' [式]],[`&' 式] `)'] [式 `::'] 識別子 [`(' 式 ... [`*' [式]],[`&' 式] `)'] メソッド呼び出し式はレシーバ(`.' の左側の式の値)のメソッドを呼び 出します。レシーバが指定されない時は self のメソッドを呼び出しま す。 `.' と `::' とはほぼ同じ意味です。但し、定数を表す場合は、 `::' を使わなければいけません(例: Math::PI)。逆に、 Klass::Foo とした場合、常に定数と見なされるという制限があります。 `::

    hoppie
    hoppie 2012/08/20
  • BasicObject#instance_eval (Ruby 3.3 リファレンスマニュアル)

    instance_eval(expr, filename = "(eval)", lineno = 1) -> object[permalink][rdoc][edit] instance_eval {|obj| ... } -> object オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを評価してその結果を返します。 オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。 ただし、ローカル変数だけは、文字列 expr の評価では instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。 メソッド定義の中で instance

  • 1