Ruby 中“触发器已弃用”警告的解决方法

问题描述 投票:0回答:1

我从 shell 脚本中调用 Ruby,如下所示:

ruby -n -e "print if %r($fromre)...%r($tore)" "$@"

自 Ruby 2.6 起,我收到警告

警告:触发器已弃用

所以看来我必须做好准备,明智的 Ruby 大祭司已经决定这个(IMO 有用的)构造有一天会完全消失。

什么是简单的解决方法?当然可以更换

print if %r($fromre)...%r($tore)

inside ||= %r($fromre)
if inside
  print
  inside = false if %r($tore)
end

但我想知道是否有更简洁的写法。

ruby shell
1个回答
0
投票

2019 年 7 月 Ruby 的原作者同意在该语言中保留触发器:

我听到社区的负面反馈。好吧,我放弃了。 应删除该警告。

马茨。

警告不久后被删除并且更改被向后移植到 Ruby 2.6。

© www.soinside.com 2019 - 2024. All rights reserved.