繁体   English   中英

Ruby删除方法(字符串操作)

[英]Ruby delete method (string manipulation)

我是Ruby的新手,并且一直在通过Mr. Neighborly的Humble Little Ruby指南工作。 在此过程中代码示例中存在一些拼写错误,但我总是设法找出错误并随后修复它 - 直到现在!

这是非常基本的,但我无法在Mac OS X(Snow Leopard)上使用以下示例:

gone = "Got gone fool!"
puts "Original: " + gone
gone.delete!("o", "r-v")
puts "deleted: " + gone

我期待的输出是:

Original: Got gone fool!
deleted: G gne fl!

我实际得到的输出是:

Original: Got gone fool!
deleted: Got gone fool!

删除! 方法似乎没有任何影响。

任何人都可以对这里出了什么问题有所了解吗? : - \\

String.delete方法( 此处记录 )将其参数视为数组,然后根据其数组的交集删除字符。

2个数组的交集是两个数组共有的所有字符。 所以你原来删除了gone.delete!("o", "rv")就会变成

gone.delete ['o'] & ['r','s','t','u','v']

两个数组中都没有字符,因此删除将获得一个空数组,因此不会删除任何字符。

我变了

gone.delete!("o", "r-v")

gone.delete!("or-v")

它工作正常。

你可以使用像gsub这样的不同方式获得相同的o / p

puts "deleted: " + gone.gsub('o', '')

O / P

deleted: Got gone fool!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM