Learn Ruby

Wednesday, July 05, 2006

 

String#delete

这个method接受的参数多于一个时,只要有一个参数不存在于目标string里,任何动作就都不会执行。看例子比较容易明白。
irb(main):001:0> a = "he l lo  !"
=> "he l lo !"
irb(main):002:0> a.delete!(" ", "a")
=> nil
irb(main):003:0> a
=> "he l lo !"
irb(main):004:0> a.delete!(" ")
=> "hello!"
irb(main):005:0>

所以执行String#delete要么逐个删除,要么用String#include?检查一下。

另外'\n'与"\n"的区别在这里也有体现:
irb(main):001:0> "he ll o\n".delete('\n')
=> "he ll o\n"
irb(main):002:0> "he ll o\n".delete("\n")
=> "he ll o"
irb(main):003:0> printf('\n')
\n=> nil
irb(main):004:0> printf("\n")

=> nil
irb(main):005:0>

Comments: Post a Comment

Subscribe to Post Comments [Atom]





<< Home

Archives

July 2006   April 2007  

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]