Posted on 2007-06-14 14:02
ZelluX 阅读(337)
评论(0) 编辑 收藏 所属分类:
Scripting
先把各种热门的东西都走马观花地看一遍,呵呵。
看的是Everyday Scripting with Ruby,风格和In Action系列差不多,大量的实例。
现在学Ruby的主要目的也是everyday scripting,方便数据处理、生成,文件批处理等,RoR之类的暂时不考虑。
1. String.inspect 方法
文档中的说法是
str.inspect => string
Returns a printable version of _str_, with special characters
escaped.
str = "hello"
str[3] = 8
str.inspect #=> "hel\010o"
具体情况试试 myString.inspect.inspect....就能了解一点了
2. Arrays.each 和 Arrays.collect
for_each方法
irb(main):007:0> [1, 2, 3].each do | element |
irb(main):008:1* puts element
irb(main):009:1> end
1
2
3
=> [1, 2, 3]
后者与前者的不同之处在于,在处理数据的同时,每次处理的返回结果都会保存到一个新的数组中返回。
irb(main):036:0> newarray = ["aBC", "B"].collect do |e|
irb(main):037:1* e.downcase
irb(main):038:1> end
=> ["abc", "b"]
3. Messages and Methods
It can be hard to remember the difference between messages and methods. A message is a request sent from some sender object. When the receiver object receives the message, it looks to see whether it has a method with the same name. If so, the Ruby code within the method is run, and the results are returned to the sender. The message is the request; the method fulfills it.
呃,还是没有感性认识。
4. Delimiting Blocks
块的两种表示方式:
array.each do | element |
puts element
end
array.each { | element |
puts element
}
通常使用第一种,但可以用一行写成的情况也可以使用第二种:
array.each { | element | puts element }