解析.NET程序员 Ruby核心语法入门(2)_.Net教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:关于URL的传递字符串问题的研究
前几天在调程序的时候遇到了比较郁闷的问题,我用URL从一个页面传递字符串到另一个页面的时,出现了个奇怪的问题,我要传递的字符串是“DK51 700中继站”;可是另一个页面接收到

基础类型

如果一门编程语言不能处理数字,那就不值得学习和使用,Ruby当然能够满足算术运算了,如:

irb(main):004:0> 3 4
=> 7
irb(main):005:0> 3 * 4
=> 12
irb(main):006:0> 3 - 4
=> -1
irb(main):007:0> 3 / 4
=> 0
irb(main):008:0> 3.0 / 4.0
=> 0.75
irb(main):009:0> 0xF
=> 15
irb(main):010:0> 0x3 * 0xA
=> 30

正如你所看到的,Ruby支持整数和浮点类型,甚至可以接收常用的十六进制整数,但0x3 * 0xA的结果是以十进制的形式显示的,即显示结果是30而不是0x1E。

因为在.NET中,数字也是真实的对象,因此,你可以在它们上面调用类函数,如:

irb(main):011:0> 14.to_s
=> "14"

在c 中不要这样做。

to_s类函数的功能是将一个对象转换成一个字符串,因此,14.to_s返回的结果是"14",和.NET中的to_string()函数一样,to_s函数实际上是一个对象函数,因此,在Ruby中你可以将任何东西转换成字符串。

字符串

Ruby的字符串具备完整的操作支持,如:

irb(main):012:0> "hello" "there"
=> "hellothere"
irb(main):013:0> "Reader".length
=> 6
irb(main):014:0> "Reader".reverse
=> "redaeR"
irb(main):015:0> "reader".capitalize
=> "Reader"
irb(main):016:0> "Reader".include?("foo")
=> false
irb(main):017:0> "Reader".include?("ade")
=> true
irb(main):018:0> " Reader ".strip
=> "Reader"
irb(main):019:0> "Reader".gsub("e", "f")
=> "Rfadfr"
irb(main):020:0> "Reader".delete("ea")
=> "Rdr"
irb(main):021:0> "a" < "b"
=> true

几乎可以使用所有的字符串操作符,可能有的你还从来都没有使用过,如下面的代码按字母顺序测试某个字符串是否位于其他两个之间:

irb(main):022:0> "Bob".between? "Adam", "Chris"
=> true

乘法操作符可以让给定的字符串重复显示指定的数量,如:

irb(main):023:0> "hi" * 5
=> "hihihihihi"

Crypt函数为字符串提供了一个单向哈希加密功能,在存储敏感数据如密码时就可以使用它,如:

irb(main):024:0> "Reader".crypt("ab")
=> "abofgDjq6JNJo"

字符

Ruby没有内置的字符类型,它象数字一样表现字符,可以是?语法来表示一个字符常量,你可以使用chr函数将一个数字转换成一个等价的字符串,如:

irb(main):025:0> "Reader"[2]
=> 97
irb(main):026:0> ?a
=> 97
irb(main):027:0> 97.chr
=> "a"

赋值

其实执行这个操作并没什么用途,除非你可以将其存储起来方便后面使用,如:

irb(main):028:0>x = 42
=>42

字符串有一个特殊的语法,允许嵌入式赋值,这个赋值不仅仅局限于简单的变量替换,它是一个完整的赋值,如:

irb(main):029:0> "The answer is #{x}!"
=> "The answer is 42!"
irb(main):030:0> "The answer is #{6 * 7}!"
=> "The answer is 42!"

可以使用单引号将字符串引起来避免这种赋值,注意是单引号,不是双引号,如:

irb(main):031:0> 'The answer is #{x}!'
=> "The answer is \#{x}!"

分享:.NET Framework 3.5 SP1正式版
微软今天发布了.NET Framework 3.5第一个SP服务包的最终版.这是一个累积更新,包含很多基于.NET Framework 2.0、3.0和3.5不断生成的新功能,此外还包括.NET Framework 2.0 SP2和.NET Framewo

来源:模板无忧//所属分类:.Net教程/更新时间:2009-08-02
相关.Net教程