Bir şekilde Ruby yöntem bağımsız değişkenleri erişmek için var mı?
Google'dan nasıl hiç bir fikrim yok bu yana burada benim sorum Ruby ve ROR ve her gün sevmek için yeni (ve denedim :) )
yöntemi var
def foo(first_name, last_name, age, sex, is_plumber)
# some code
# error happens here
logger.error "Method has failed, here are all method arguments #{SOMETHING}"
end
Bu kadar yol için tüm argümanları almak için arıyorum, her ne kadar bir liste olmadan yöntemine geçti. Eğer sadece onları liste:) isterdim java olsaydı bu yana Ruby bir yolu yoktur herhalde:)
Çıkış şöyle olacaktır:
Method has failed, here are all method arguments {"Mario", "Super", 40, true, true}
CEVAP
Ruby 1.9.2 bu yöntem için parametre listesi almak için bir yöntem parameters yöntemi kullanabilirsiniz. Bu gerekli olup olmadığını çiftleri parametresi adını gösteren bir liste ve dönecektir.
örneğin
Eğer bunu yaparsanız
def foo(x, y)
end
sonra
method(:foo).parameters # => [[:req, :x], [:req, :y]]
Özel değişken __method__ geçerli yöntem adını almak için kullanabilirsiniz. Bir yöntem içinde kendi parametreleri ile elde edilebilir
args = method(__method__).parameters.map { |arg| arg[1] }
Sonra her parametrenin adı ve değeri ile görüntüleyebilirsiniz
logger.error "Method failed with " args.map { |arg| "#{arg} = #{eval arg}" }.join(', ')

Java genel bir yöntem, genel tür bağım...
Nasıl Python ortam değişkenleri erişme...
Bir yöntem için geçirilen bağımsız değ...
Raylar Komisyon: bir görev için bağıms...
Olan yöntem bağımsız değişkenleri mant...