打印

the ruby way 问题

the ruby way 问题



str = "Hello, world!"
def str.spell
  self.split(/./).join("-")
end
puts str.spell


代码如上 书上说输出

”H-e-l-l-o-,- -w-o-r-l-d-!“


但是自己啥都没有输出
估计是正则的问题,看不明白...
然后问下 这样的正则什么意思?


[ 本帖最后由 xnine 于 2007-12-6 13:10 编辑 ]

TOP

引用:
原帖由 xnine 于 2007-12-6 13:06 发表
”H-e-l-l-o-,- -w-o-r-l-d-!“


"Hello,World!".scan(/./).join("-")
=> "H-e-l-l-o-,-W-o-r-l-d-!"





!~ 是 =~ 的逆运算

/-?\d+/

/
   -?    #有一个或者没有“-”
   \d+ #至少匹配一个数字
/x


我们测试下

'-11111'!~/-?\d+/


TOP

那个~符号是什么意思?

irb(main):012:0> "abc".split(/b/)
=> ["a", "c"]
irb(main):013:0> "abc".scan(/b/)
=> ["b"]


这个错误好象比较大的....

irb(main):013:0> "abc".scan(/b/)
=> ["b"]
irb(main):014:0> "abc".scan(/./)
=> ["a", "b", "c"]


/./认为是分割每个字符?

[ 本帖最后由 xnine 于 2007-12-6 14:30 编辑 ]

TOP




是一个整体的符号

'abc'.split(/b/)

是以'b'切割

TOP




这个可以认为是取反


那这个呢?
如果是整体,


代表什么意思?


是什么意思呢?^_^

TOP



irb(main):019:0> 5%3
=> 2
irb(main):020:0> -5%3
=> 1
irb(main):021:0> 5%-3
=> -1
irb(main):022:0> -5%-3
=> -2





取余数
为什么带了符号就变了呢?好象是除号了...

TOP

在%(模运算符,或称求佘运算符):%两侧均为整形数据,符号由被除数决定
本帖最近评分记录
  • xnine R币 +2 明白了点 谢谢 2007-12-6 16:40

TOP

=~ 这个是正则表达式运算符

!~ 这个是上面的逆运算
本帖最近评分记录
  • xnine R币 +5 明白了 谢谢 2007-12-6 16:38

TOP

str = "Hello, world!"
def str.spell
 self.split(//).join("-")
end
puts str.spell

windows 下,这样能显示
>ruby temp3.rb
H-e-l-l-o-,- -w-o-r-l-d-!
>Exit code: 0

TOP

2008-12-05 05:09 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html) @38.103.63.61