gpt4 book ai didi

ruby !方法或过程

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

我想就地修改一个变量,复制methodname! 语法,而不是将新的修改值重新分配给相同的var。我可以使用 proc 来做到这一点吗?我仍在学习 procs 并认为它们非常有用且使用得当。

a = "Santol bag 85.88   www.example.com/products/16785
Shaddock kg 2.94 www.example.com/products/4109
Palm Fig 5kg 94.34 www.example.com/products/23072
Litchee lb 95.85 www.example.com/products/2557"

a = a.split("\n")

linebreak = Proc.new { |text| text.split("\n") }
linebreak![a]

第一次重新分配似乎很麻烦。 proc 版本我想看看我是否可以内联执行它。这可能吗?

最佳答案

这肯定是可以的,你只需要原地修改字符串

linebreak = ->(text) { text.replace text.split("\n").join(",") }
a = "foo\nbar"
linebreak[a]
#⇒ "foo,bar"
a
#⇒ "foo,bar"

不可能的是,就地更改类,这就是为什么 split 不起作用(在字符串上调用,它返回一个数组。)

关于 ruby !方法或过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54347919/

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