当前位置 : 主页 > 编程语言 > ruby >

ruby中有“可赎回”的东西吗?

来源:互联网 收集:自由互联 发布时间:2021-06-23
在 python中,我可以使用“callable”来检查是否可以调用变量.像这样: # -*- coding: utf-8 -*-def test(): print "hello world"a = testif callable(a): a() 所以这样,我可以说a是一个函数,而不是一个实例变量
在 python中,我可以使用“callable”来检查是否可以调用变量.像这样:

# -*- 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"
网友评论