gpt4 book ai didi

ruby - 如何为除第一个和最后一个之外的所有数组元素插入前缀?

转载 作者:太空宇宙 更新时间:2023-11-03 17:02:46 25 4
gpt4 key购买 nike

如何为除第一个和最后一个元素之外的所有数组元素添加前缀?

是否有单行解决方案?或者比我的“更好”的解决方案?

result = ["svn up", "20111128025010", "20111128025022", "pass"]
for i in 1..result.length-2
result[i]=" - "+result[i]
end

最佳答案

你可以这样做:

result[1 ... -1].each { |s| s[0, 0] = ' - ' }

注意是三个点,不是两个。这是有效的,因为 s[0,0] 就地修改了 s。如果您使用的是 1.9.3+,您也可以(并且可能应该)使用 prepend :

result[1 ... -1].each { |s| s.prepend(' - ') }

并且,作为 the Tin Man在评论中注明,您还可以使用更常见的双点范围运算符:

result[1 .. -2].each { |s| s[0, 0] = ' - ' }
result[1 .. -2].each { |s| s.prepend(' - ') }

您使用哪个范围运算符是一个偏好问题。

关于ruby - 如何为除第一个和最后一个之外的所有数组元素插入前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8556942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com