gpt4 book ai didi

ruby - 条件语句是 Ruby 中的对象吗?

转载 作者:太空宇宙 更新时间:2023-11-03 18:27:40 25 4
gpt4 key购买 nike

Ruby Language - About我们可以找到这句话:

在 Ruby 中,一切都是对象。每一点信息和代码都可以赋予它们自己的属性和操作

很难理解限制在哪里。我们不能说条件语句是对象,对吧?如果不是,这里的“每一位信息”是什么意思?

最佳答案

这个说法有点夸张。 Ruby 中的每个数据项 都是一个对象(或对象的后代,更准确地说)并且Proc是一段代码的一个例子,它也是一个对象。但是 Ruby 中有很多概念不是对象,例如关键字、任意语句等。

但是,完整的语句总是求值到一个对象中。我认为作者的意图是戏剧性地描述没有值,无论是原始值还是其他值,在语言中都不是对象。

# Data items are all objects.
1.class # => Fixnum
(2 ** 64).class # => Bignum
"a".class # => String
{}.class # => Hash
nil.class # => NilClass
lambda {|x| x}.class # => Proc

# Statements, including conditionals, *evaluate* to objects.
(true ? "a" : 1).class # => String
(false ? "a" : 1).class # => Fixnum
(if true; 'a'; else; 1; end).class # => String
(if false; 'a'; else; 1; end).class # => Fixnum
(while true; break; end).class # => NilClass

关于ruby - 条件语句是 Ruby 中的对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8791932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com