[英]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")
它工作正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.