gpt4 book ai didi

ruby-on-rails - 如何在 Ruby 中对字符串应用除法运算符?

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

我正在尝试将除法运算符 / 添加到 String,它接受一个整数。

运算符应生成一个字符串数组。数组的大小是给定的整数,它的元素是原始字符串的子字符串,这样当按顺序连接时,会产生原始字符串。

如果字符串长度不能被整数整除,一些子串应该比其他的长(一个字符)。两个字符串的长度相差不得超过 1,任何较长的字符串都应出现在任何较短的字符串之前。

像这样:

"This is a relatively long string" / 7
# => ["This ", "is a ", "relat", "ively", " lon", "g st", "ring"]

我该如何开始?

最佳答案

你可以使用递归。

class String
def /(n)
return [self] if n==1
m = (self.size.to_f/n).ceil
[self[0...m]].concat(self[m..-1] / (n-1))
end
end

str = "This would be a woefully short string had I not padded it out."

str / 7
# => ["This woul", "d be a wo", "efully sh", "ort strin", "g had I n",
# "ot padded", " it out."]


(str / 7).map(&:size)
#=> [10, 10, 9, 9, 9, 9, 9]

关于ruby-on-rails - 如何在 Ruby 中对字符串应用除法运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35737748/

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