加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 我们可以获得与格式相关的字符串中的插槽吗?

发布时间:2020-12-17 02:10:08 所属栏目:百科 来源:网络整理
导读:我有兴趣通过运算符%获取与格式化相关的字符串中的插槽列表.假设我有一个插槽方法,它将执行以下操作: t = '... %{s1} ... %{s2} ... %{s3} ...'t.slots # = ['s1','s2','s3'] 有没有假设的插槽这样的方法? 有没有办法获得这些插槽而不使用正则表达式,但使
我有兴趣通过运算符%获取与格式化相关的字符串中的插槽列表.假设我有一个插槽方法,它将执行以下操作:

t = '... %{s1} ... %{s2} ... %{s3} ...'
t.slots # => ['s1','s2','s3']

>有没有假设的插槽这样的方法?
>有没有办法获得这些插槽而不使用正则表达式,但使用与Ruby引擎使用的相同的解析例程?
>是否有一个库实现类似于格式插值的东西,它暴露出类似于上述插槽的方法?
>如果没有其他选项,我怎么能为这种情况产生一个下降解析器(不是正则表达式)?

我读了what I think is the source code of %,我担心字符串格式化对于插槽检测没有明显的分离.

解决方法

至少,你可以这样做:

t = '... %{s1} ... %{s2} ... %{s3} ...'

h = {}
begin
  t % h
rescue KeyError => e
  h[e.key] = true
  retry
end
h.keys # => [:s1,:s2,:s3]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读