Ruby 有没有红宝石片';那更像是一块排骨?
Ruby 有没有红宝石片';那更像是一块排骨?,ruby,Ruby,chop切掉最后一个字符并返回剩余的字符串: irb(main):011:0> "hello world".chop => "hello worl" slice可用于切断第一个字符 irb(main):013:0> str = "hello world" => "hello world" irb(main):014:0> str.slice!(0) => "h" irb(main):015:0> str => "ello world" 是否有一
chop
切掉最后一个字符并返回剩余的字符串:
irb(main):011:0> "hello world".chop
=> "hello worl"
slice
可用于切断第一个字符
irb(main):013:0> str = "hello world"
=> "hello world"
irb(main):014:0> str.slice!(0)
=> "h"
irb(main):015:0> str
=> "ello world"
是否有一个Ruby方法可以截断第一个字符,然后返回字符串的其余部分?所以看起来像
irb(main):011:0> "hello world".some_method
=> "ello world"
这里有两种方法:
> str = "hello world"
=> "hello world"
> str[1..-1]
=> "ello world"
> str = "hello world"
=> "hello world"
> str.slice(1..-1)
=> "ello world"
这里有一个有趣的方法:
> str = "hello world"
=> "hello world"
> str.reverse.chop.reverse
=> "ello world"
另一种有趣(但破坏性)的方式:
我想象一个真正的忍者翻转琴弦,给它一个快速的切碎,然后再翻转一次。虽然它会按照OP的要求去做,但它也会浪费CPU。嗨,卡里,我出版了两本《宝石》和一本书。如果它们听起来很有趣,请看一看。@sawa,谢谢,我把它们放在书签里了,但是在我理解纯Ruby之外的东西之前,我不会去看它们。(我甚至不知道HTML。)从Ruby 2.5开始,您可以使用
delete_prefix
(或等效的bang)。
"hello world".tap { |s| s.slice!(0) }
#=> "ello world"