は、私が行うことができます。ポジション
class Object
def source_position
puts caller.first
end
end
ているので、私は上に配置されているチェーンでそれを使用する場合
test.rb
.
.
n: 'abcde'.source_position
.
.
# => test.rb:n:in `<main>`
が、私は、このコマンドの前に改行を作るとき、それは、pをバック与える:ソースコードのn番目の行は、それは私に望ましい結果を提供します代わりに、問題のメソッドの位置の連鎖の始まりのosition:(ルビー1.9で)
.
.
n: 'abcde'.
n+1: source_position
.
.
# => test.rb:n:in `<main>`
または、
.
.
n: 'abcde'
n+1: .source_position
.
.
# => test.rb:n:in `<main>`
が、これは機能の代わりに、バグですか?その場合は、メソッドの位置を取得する方法があるので、上記の最後の2つの例では、の代わりにn+1
が行として返されますか?
定数を返すので、これは機能しません。それは '__LINE__'呼び出しの位置を返します。呼び出したメソッドの位置ではありません。 – sawa