在 python中,我可以使用“callable”来检查是否可以调用变量.像这样: # -*- coding: utf-8 -*-def test(): print "hello world"a = testif callable(a): a() 所以这样,我可以说a是一个函数,而不是一个实例变量
# -*- coding: utf-8 -*- def test(): print "hello world" a = test if callable(a): a()
所以这样,我可以说a是一个函数,而不是一个实例变量.
但是在ruby中,大括号可以省略,所以对我来说,当我调用它时,我无法判断它是函数还是实例变量.是否有一些方法可以在运行时检查变量是函数还是实例变量?
a = 1 def a; end b = 1 def c; end defined? a # => "local-variable" defined? a() # => "method" defined? b # => "local-variable" defined? c # => "method"