gpt4 book ai didi

ruby - 在 ruby​​ 中与 << 相反

转载 作者:数据小太阳 更新时间:2023-10-29 07:11:13 28 4
gpt4 key购买 nike

我正在使用 << 准备一个巨大的字符串循环中的运算符。最后我想删除最后 2 个字符。

some_loop
str << something
end
str = str[0..-3]

我认为上面的最后一个操作也会消耗内存和时间,但我不确定。就是想看看有没有和<<效果相反的操作所以我可以从同一个字符串中删除最后两个字符。

最佳答案

事实上,字符串切片已经是一种快速且内存高效的操作,因为只有在真正需要时才会复制字符串内容。

请参阅“Seeing double: how Ruby shares string values”中的详细说明。

请注意,这是对字符串操作的某种经典优化; You have it in java too我们经常在 C 中使用类似的技巧。

所以,不要犹豫:

str = str[0..-3]

这是正确、推荐和有效的方法,前提是您确实必须删除这些字符,请参阅 Sergio 的回答。

关于ruby - 在 ruby​​ 中与 << 相反,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12035064/

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