Ruby中为何要同时有to_s,to_str,inspect这三个函数?nil.inspect为何是“nil”

 原来那只是梦靥 发布于 2022-10-25 08:32

ruby新手,求大侠指点一二。

2 个回答
  • 这里需要指出一个问题,那就是Ruby中的nil跟其他语言中的null是不一样的,nil是一个对象(不是一个类,他是NilClass这个类的一个对象),Ruby中用这个对象来代表没有任何东西,但它本身是一个对象。

    2022-10-26 14:40 回答
  • 第一个问题:
    to_s 应该是广泛存在的方法,to_str 应该是 String 或者很少的类才有的方法。ruby 确实有许多方法, https://ruby-china.org/topics/25311

    第二个问题:
    inspect 返回类型是 string,返回利于阅读的放映当前对象的字符串。 nil.inpsect 返回 "nil" 因为他就是返回 "nil",看 NilClass#inspect 文档就知道了。

    2022-10-26 14:40 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有