加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 01:36:23 所属栏目:百科 来源:网络整理
导读:在 python中,我可以使用“callable”来检查是否可以调用变量.像这样: # -*- coding: utf-8 -*-def test(): print "hello world"a = testif callable(a): a() 所以这样,我可以说a是一个函数,而不是一个实例变量. 但是在ruby中,大括号可以省略,所以对我来说,
在 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"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读