Ruby入门介绍第4/5页

 更新时间:2007年10月20日 19:00:36   作者:  

四、嵌入字符串
在 Ruby 中我非常喜欢的一个功能就是嵌入字符串,所谓嵌入就是指直接将变量写入引号的形式,这样做的好处是直观和节约了连字符出现的频率。比如在 C# 中我们可以编写下面的代码。
string val = "value"; string printVal = "value: " + val; // 或者 string printVal = String.Format("value: {0}", val);
但在 Ruby 中可以采用嵌入字符串的形式来节约一些代码(我想这里正体现了 Ruby 的优雅)。
val = "Value" printVal = "value: #{val}"
嵌入字符串的形式是非常简单的,只需将变量名放到 # 字符后面的大括号中就可以了。而对于类变量、成员变量和全局变量来说,甚至可以连大括号也可以省略掉(伪变量则不能省略大括号)。
1module Company 2 class Employee 3 # 类变量 4 @@companyName = ".org" 5 # 成员变量 6 @empId 7 8 def setEmpId(val) 9 @empId = val 10 end 11 12 def display() 13 # 省略了大括号 14 print "Company: #@@companyName\n" 15 print "Employee ID: #@empId\n" 16 # 伪变量不能省略大括号 17 print "lines: #{__LINE__}\n" 18 end 19 end 20end 21 22emp = Company::Employee.new 23emp.setEmpId("001") 24emp.display
Ruby 的嵌入字符串只能在双引号中使用,因为解释器会原样输出单引号中的内容。Ruby 的单引号就有点 C# 中的 @"" 的感觉。
# 原样输出 # Company: #@@companyName print 'Company: #@@companyName' # 原样输出(包括空格和换行) print ' Company: .org Employee Id: unknow
% 呈现

Ruby 的另一个酷酷的功能就是 % 呈现方法,这是一种替代引号或其它分隔字符的表示方法。下面第一句直接在双引号内插入双引号是错误的,但使用 % 呈现后就可以直接在字符串内插入双引号了。
# 错误 print "Ruby "% 呈现法"" # 应用 % 呈现方法 print %Q#Ruby "% 呈现"#
在 % 呈现中,Q 是呈现标识、! 是呈现分隔符。呈现标识声明替代哪种分隔字符,! 则是一个自定义的分隔符。呈现分隔符只要前后一致就可以了,但不能选择字母和 < 字符做为呈现分隔符。如果要在呈现方法中插入呈现字符就必须使用 \ 字符。
# 正确 print %Q~Ruby "% 呈现"~ print %Q.Ruby "% 呈现". print %Q*Ruby "% 呈现"* # 在 % 呈现中插入呈现分隔符 print %Q*\* Ruby "% 呈现"* # 错误 print %Q** Ruby "% 呈现"* print %QbRuby "% 呈现"b print %Q<Ruby "% 呈现"<
% 呈现列表
%Q 替代双引号 => %Q#Ruby "% 呈现"# 等同于 "Ruby \"% 呈现\""
%q 替代单引号
%r 替代正则表达式 => %r#([\d\w/])*# 等同于 /([\d\w\/)*/
%s 使嵌入字符串、符号失效 => print %s@#{__LINE__}@ 原样输出
%w 替代字符串数组

相关文章

  • ruby中并发并行与全局锁详解

    ruby中并发并行与全局锁详解

    最近在学习ruby,想着将自己学习的内容总结一下分享出来,下面这篇文章主要给大家介绍了关于ruby中并发并行与全局锁的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-09-09
  • 用Ruby进行CGI编程的入门指引

    用Ruby进行CGI编程的入门指引

    这篇文章主要介绍了用Ruby进行CGI编程的入门指引,编写CGI脚本也是Ruby用于网络编程的一项基础功能,需要的朋友可以参考下
    2015-05-05
  • 浅析Ruby中的正则表达式的使用

    浅析Ruby中的正则表达式的使用

    这篇文章主要介绍了浅析Ruby中的正则表达式的使用,作者根据Ruby对正则表达式的支持提出了其中一些需要注意的地方,需要的朋友可以参考下
    2015-08-08
  • 在Ruby中查找和执行方法

    在Ruby中查找和执行方法

    这篇文章主要介绍了在Ruby中查找和执行方法,是Ruby入门学习中的基础知识,需要的朋友可以参考下
    2015-07-07
  • 浅析Ruby中的类对象的概念

    浅析Ruby中的类对象的概念

    这篇文章主要介绍了Ruby中的类对象的概念,是Ruby学习当中的基础知识,需要的朋友可以参考下
    2015-05-05
  • 借助RubyGnome2库进行GTK下的Ruby GUI编程的基本方法

    借助RubyGnome2库进行GTK下的Ruby GUI编程的基本方法

    这篇文章主要介绍了借助RubyGnome2库进行GTK下的Ruby GUI编程的基本方法,介绍了基本的UI和事件响应的相关实现,需要的朋友可以参考下
    2015-12-12
  • Ruby创建“关键字”同名方法别名的方法

    Ruby创建“关键字”同名方法别名的方法

    这篇文章主要介绍了Ruby创建“关键字”同名方法别名的方法,本文提示的是一个小技巧,特殊场景时可能会用到,需要的朋友可以参考下
    2015-01-01
  • ruby实现网页图片抓取

    ruby实现网页图片抓取

    本文给大家分享的是个人使用ruby编写的抓取网页图片的代码,十分的简单实用,有需要的小伙伴可以参考下。
    2015-06-06
  • 详解Ruby设计模式编程中对单例模式的运用

    详解Ruby设计模式编程中对单例模式的运用

    这篇文章主要介绍了Ruby设计模式编程中对单例模式的运用,讲到了包括对Singleton模块的使用,需要的朋友可以参考下
    2016-03-03
  • Ruby下WebDriver的相关操作指南

    Ruby下WebDriver的相关操作指南

    这篇文章主要介绍了Ruby下WebDriver的相关操作指南,同时也介绍了启动firefox drive加载firebug扩展的方法,需要的朋友可以参考下
    2015-07-07

最新评论