我想要修改一个variable位置,复制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]
Run Code Online (Sandbox Code Playgroud)
第一次重新分配似乎很麻烦.proc版本我想看看我是否可以内联执行它.这可能吗?
这肯定是可能的,你只需要修改字符串就地
linebreak = ->(text) { text.replace text.split("\n").join(",") }
a = "foo\nbar"
linebreak[a]
#? "foo,bar"
a
#? "foo,bar"
Run Code Online (Sandbox Code Playgroud)
什么是不可能的,是改变类到位,这就是为什么split不起作用(调用字符串,它返回一个数组.)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |