• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >ruby > Ruby中的p和puts的使用区别浅析

Ruby中的p和puts的使用区别浅析

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了puts与printf的区别,puts与putchar的区别,ruby和java的区别,ruby,ruby rose等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

p 和 puts 是 Ruby 中特别常用的方法,很多童鞋可能认为它们是差不多的,使用的时候也不加注意,但是仔细考究起来,它们是有明显差别的。

先举一个例子
class Foo
    def inspect
      "foo from inspect"
    end

    def to_s
      "foo from to_s"
    end
  end

  foo = Foo.new
  p foo
  puts foo
  p "p: <#{foo}>"
  puts "p: <#{foo}>"
</div>

这段代码的输出是
foo from inspect
foo from to_s
p: <foo from to_s>
puts: <foo from to_s>
</div>

p obj 相当于 puts obj.inspect,而 puts obj 相当于 puts obj.to_s, 使用的方便是明显区别的,p 是使用 obj 的 inspect 方法,而 puts 是 to_s 方法。

为什么会这样呢?这个我想可以从 to_s 和 inspect 的区别说起,to_s 是对象的字符串表示, 是 puts 和双引号字符使用的方法。inspect 是对象状态的表示,通用用于 debug 中。 Object 中的定义了 to_s 和 inspect 方法,默认都是返回对象的类名和地址。

所以p 和 puts主要是用途的不同,p 是作为 debug 输出,而 puts 作为对象的字符串表示输出。

另外值得一提的是,在 irb console 中,命令行中表达式求值,使用的是 p 对象的 inspect 方法。另外,通常 debug 输出命令,也是使用对象的 inspect 方法。

</div>

您可能想查找下面的文章:

  • Ruby中的p和puts的使用区别浅析

相关文章

  • 优化Ruby代码使程序运行速度提高的例子
  • Ruby中对一元操作符重载实例
  • Ruby中常用的字符串处理函数使用实例
  • Ruby的XML格式数据解析库Nokogiri的使用进阶
  • Windows下Ruby on Rails开发环境安装配置图文教程
  • Ruby常量查找路径问题深入研究
  • 简要说明Ruby中的迭代器
  • 深入理解Ruby中的block概念
  • 简单谈谈Ruby的private和protected
  • Linux系统上配置Nginx+Ruby on Rails+MySQL超攻略

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • ruby 杂项
    • Ruby Gems更换淘宝源方法
    • Ruby、PHP、Shell实现求50以内的素数
    • 详解Lua中的表的概念及其相关操作方法
    • Ruby学习笔记之gem 命令详解
    • Ruby中的集合编写指南
    • 实例解析Ruby设计模式编程中Strategy策略模式的使用
    • 深入理解Ruby on Rails中的缓存机制
    • 初步了解一下什么是ruby
    • 在Ruby中处理XML和XSLT以及XPath的简单教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有