我需要根据特定的大小将字符串拆分成块。我不能在块之间打断单词,所以我需要在添加下一个单词时捕捉到会超过块大小并开始下一个(如果块小于指定大小也没关系)。
这是我的工作代码,但我想找到一种更优雅的方法来做到这一点。
def split_into_chunks_by_size(chunk_size, string)
string_split_into_chunks = [""]
string.split(" ").each do |word|
if (string_split_into_chunks[-1].length + 1 + word.length > chunk_size)
string_split_into_chunks << word
else
string_split_into_chunks[-1] << " " + word
end
end
return string_split_into_chunks
end