Ruby语言入门(6)- 字面值

上一篇 / 下一篇  2013-01-29 15:48:28 / 个人分类:语言

字面值

我们把类似字符串“hello world”这样可以直接写入Ruby程序中的值叫做字面值。

数值字面值

123整数
-12带符号的整数
1.2浮点数
?aa的AscII码

字符串字面值

"this is a string expression\n" 字符串
'a' 字符
'aaa' 字符串  

在被单引号括起来的字符串中,除了\\(反斜线本身)、\'(单引号)和行尾的\(忽略换行)以外,不会对字符串内容作任何处理。

字符串中,以\来处理的字符有:
\tTab
\n换行
\r回车
\f换页
\b退格
\eEsc
\s空白
\\\
\''

字符串中,以%来处理

%!STRING! : 双引号中的字符串
%Q!STRING! : 同上
%q!STRING! : 单引号中的字符串
%x!STRING! : 命令输出
%r!STRING! : 正则表达式
%w!STRING! : 字符串数组(以空白字符切分各元素)
%W!STRING! : 字符串数组(以空白字符切分各元素)。展开式、反斜线表示法都有效
%s!STRING! : 符号。展开式、反斜线表示法都无效

实例:
%(()) => "()"
%w(foo bar baz) => ['foo', 'bar', 'baz']
%w(foo\ bar baz)=> ["foo bar", "baz"]


字符串中,以展开式来处理

ruby = "RUBY"
"my name is #{$ruby}" #=> "my name is RUBY"
'my name is #{$ruby}' #=> "my name is #{$ruby}"
"my name is #$ruby" #=> "my name is RUBY"

在以双引号(")括起来的字符串表达式、命令字符串以及正则表达式中,可以使用“#{表达式}”把表达式的内容(以字符串的形式)嵌入其中。若表达式是以($,@)开始的变量的话,则可以省略{}部分,只使用“#变量名”的形式即可.


集成字符串字面值

<<[-]["'`]标识符["'`]
   ...
标识符

print <<EOS      # (从这里开始)直到标识符 EOS 之前的部分就是字面值
  the string
  next line
EOS

等同于:
print "  the string\n  next line\n"


可以当作一个整体进行应用:
# 将集成字符串用作被调
p  <<LABEL.upcase
the lower case string
LABEL

# => "THE LOWER CASE STRING"

正则表达式

被/括起来的部分就是正则表达式,例如:/Ruby/i

数组表达式

被[]括起来的部分就是数组表达式,例如:[1, 2, 3]

哈希表表达式

被{}括起来的部分就是哈希表达式,例如:{1=>2, 2=>4, 3=>6}

范围对象

范围表达式两端都是数值字面值时,每次计算都将返回同一个对象。除此以外,每次计算时都会返回新的范围对象。例如: [1..9]

符号

符号应用的语法如下:

:标识符
:变量名
:操作符

指定给Symbol字面值的操作符,必须是那些可以作为方法进行再定义的操作符



TAG:

 

评分:0

我来说两句

日历

« 2024-03-29  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 148940
  • 日志数: 185
  • 文件数: 6
  • 建立时间: 2007-08-06
  • 更新时间: 2015-01-06

RSS订阅

Open Toolbar