Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Thread::Backtrace::Locationクラス

class Thread::Backtrace::Location

クラスの継承リスト: Thread::Backtrace::Location < Object < Kernel < BasicObject

要約

Ruby のフレームを表すクラスです。

Kernel.#caller_locations から生成されます。

例1:

# caller_locations.rb
def a(skip)
  caller_locations(skip)
end
def b(skip)
  a(skip)
end
def c(skip)
  b(skip)
end

c(0..2).map do |call|
  puts call.to_s
end

例1の実行結果:

caller_locations.rb:2:in `a'
caller_locations.rb:5:in `b'
caller_locations.rb:8:in `c'

例2:

# foo.rb
class Foo
  attr_accessor :locations
  def initialize(skip)
    @locations = caller_locations(skip)
  end
end

Foo.new(0..2).locations.map do |call|
  puts call.to_s
end

例2の実行結果:

init.rb:4:in `initialize'
init.rb:8:in `new'
init.rb:8:in `<main>'

参考

目次

インスタンスメソッド
absolute_path base_label inspect label lineno path to_s

インスタンスメソッド

absolute_path -> String[permalink][rdoc]

self が表すフレームの絶対パスを返します。

[SEE_ALSO] Thread::Backtrace::Location#path

base_label -> String[permalink][rdoc]

self が表すフレームの基本ラベルを返します。通常、 Thread::Backtrace::Location#label から修飾を取り除いたもので構成 されます。

[SEE_ALSO] Thread::Backtrace::Location#label

inspect -> String[permalink][rdoc]

Thread::Backtrace::Location#to_s の結果を人間が読みやすいような文 字列に変換したオブジェクトを返します。

label -> String[permalink][rdoc]

self が表すフレームのラベルを返します。通常、メソッド名、クラス名、モ ジュール名などで構成されます。

例: Thread::Backtrace::Location の例1を用いた例

loc = c(0..1).first
loc.label # => "a"

[SEE_ALSO] Thread::Backtrace::Location#base_label

lineno -> Integer[permalink][rdoc]

self が表すフレームの行番号を返します。

例: Thread::Backtrace::Location の例1を用いた例

loc = c(0..1).first
loc.lineno # => 2
path -> String[permalink][rdoc]

self が表すフレームのファイル名を返します。

例: Thread::Backtrace::Location の例1を用いた例

loc = c(0..1).first
loc.path # => "caller_locations.rb"

[SEE_ALSO] Thread::Backtrace::Location#absolute_path

to_s -> String[permalink][rdoc]

self が表すフレームを Kernel.#caller と同じ表現にした文字列を返し ます。