【发布时间】:2019-06-18 06:19:55
【问题描述】:
我想修改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]
第一次重新分配似乎很麻烦。我想看看我是否可以内联执行它的 proc 版本。这可能吗?
【问题讨论】:
-
使用
!不是特殊语法,它是一种命名约定,只能在声明函数时使用——因此linebreak! = Proc.new...会导致语法错误。您也不能一般从Proc改变超出范围的状态。