gpt4 book ai didi

ruby - 如何使用从负到正的索引进行字符串索引?

转载 作者:数据小太阳 更新时间:2023-10-29 08:49:30 24 4
gpt4 key购买 nike

对于给定的字符串:

string = "hello world"

我想使用索引返回一个字符串:

string2 = string[-4..2]
string2 = "orldhel"

ruby 为什么返回:

string2 = ""

PS - 我将以 1 为单位迭代索引的开头和结尾,并且初始字符串索引可能不一定为负数。

最佳答案

在单一范围内是不可能的。但您可以将其分成两个有效范围。

string = "hello world"

string[-4..-1] + string[0..2] # => "orldhel"

您可以编写一个函数来接受单个反向范围并执行此操作。我会把它留给你作为练习。

更新(不要在你的实际代码中使用它)

class String
alias_method :old_brackets, :[]

def [](idx)
if idx.is_a?(Range) && idx.begin < 0 && idx.end > 0
old_brackets(idx.begin..-1) + old_brackets(0..idx.end)
else
old_brackets(idx)
end
end
end

string = "hello world"

string[-4..2] # => "orldhel"

关于ruby - 如何使用从负到正的索引进行字符串索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16925034/

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