当前位置: 移动技术网 > IT编程>脚本编程>Ruby > Ruby入门介绍第1/5页

Ruby入门介绍第1/5页

2017年12月12日  | 移动技术网IT编程  | 我要评论
一、方法ruby 的方法定义允许为参数设置默认值,不过在带有默认值的参数后面不能出现不带有默认值的参数(允许 * 和 &),也就是说下面的方法定义是不被允许的,解释时会出现

四、嵌入字符串
在 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 替代字符串数组
4

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网