Ruby獲取當(dāng)前類名代碼示例解析
Ruby語(yǔ)言可以說(shuō)是目前最為靈活敏捷的編程語(yǔ)言。它的應(yīng)用方式比較特殊,可以給編程人員帶來(lái)愉悅的編程環(huán)境。在這里我們就會(huì)了解到Ruby獲取當(dāng)前類名的技巧。#t#
Ruby獲取當(dāng)前類名代碼示例:
- module Kernel
- private
- def this_method_name
- caller[0] =~ /`([^']*)
'/ and $1 - end
- end
- class Foo
- def test_method
- this_method_name
- end
- end
- puts Foo.new.test_method
# => test_method
對(duì)其caller[0] =~ /`([^']*)'/ and $1這種語(yǔ)法結(jié)構(gòu)甚是不解,后來(lái)又發(fā)現(xiàn)這么寫也行caller[0][/`([^']*)'/, 1],于是查了下參考手冊(cè)中caller的用法,還算明白一點(diǎn);
caller 返回[文件名、行號(hào)、方法名]
以上就是我們?yōu)榇蠹以敿?xì)介紹的有關(guān)Ruby獲取當(dāng)前類名技巧講解。