设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2725|回复: 3
打印 上一主题 下一主题

[已经解决] $~是啥意思,代码详见。

[复制链接]

Lv4.逐梦者

梦石
0
星屑
14616
在线时间
2196 小时
注册时间
2019-1-24
帖子
1123

R考场第七期纪念奖

跳转到指定楼层
1
发表于 2019-11-18 14:30:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 获得匹配正则表达式的所有属性的ID和匹配信息
  3.   #     返回值:二维阵列[n][0]中的ID,[n][1]中的匹配信息(MatchData)
  4.   #--------------------------------------------------------------------------
  5.   def self.get_indices(regexp)
  6.     indices = []
  7.     for i in 1...$data_system.elements.size
  8.       indices.push([i, $~]) if regexp =~ $data_system.elements[i]
  9.     end
  10.   end


这是二刀流开头定义的一段代码,里面有大量的正则和数组处理,看的我头昏脑胀
希望有人帮忙解惑

第一段代码:答题意思我知道,就是传入regexp和每个属性名称进行正则匹配,
如果匹配成功就加入indices数组当中, $~起到啥作用?我搜索了下,就有个概念性的解答。
储存正则表达式匹配中间过程信息的类,可以通过$~获取。
具体作用希望有人能发个实例看看,是什么过程


Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42399
在线时间
7602 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

2
发表于 2019-11-18 18:13:06 | 只看该作者
就理解为正则表达式中匹配到的结果吧,你可以进行一次正则匹配后输出$~变量查看

评分

参与人数 1星屑 +50 收起 理由
RyanBern + 50 认可答案

查看全部评分

RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14629
在线时间
2152 小时
注册时间
2016-9-20
帖子
861
3
发表于 2019-11-18 19:45:20 | 只看该作者



从国外google上找看不明白說什么
我发的贴子大多未经整理是草稿抱歉
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14629
在线时间
2152 小时
注册时间
2016-9-20
帖子
861
4
发表于 2019-11-20 22:47:08 | 只看该作者
本帖最后由 ppspssss 于 2019-11-21 11:05 编辑

再次認真找,一找就找到了
$~
在当前作用域中,最后一次匹配成功的相关信息(MatchData对象——为处理与正则表达式的匹配过程相关的信息而设置的类)。可以使用$~[n]的形式从该数据中抽取第n个匹配结果($n),相当于是$1、$2……等同于Regexp.last_match。

  1. irb(main):012:0> $~   
  2. => #<matchdata "foobar"="" 1:"foo"="" 2:"bar"="" 3:nil="">   
  3. irb(main):026:0> $1  
  4. => "foo"  
  5. irb(main):027:0> $~[1]   
  6. => "foo"   
  7. </matchdata>
复制代码

出處:https://www.cnblogs.com/rubylouv ... /07/23/1529237.html
还有$`,$!,$@,$1,$&,$",$/,$\,$*,$$,$`,$+, $_,"$,"   不知有啥用就是了


看樣子,是叫"内部变量"的東西
p $~可以見到是匹配到所有東西的意思 ??? <待定

意思是p $~可以看到所有匹配到的東西, 比如第1个,第2个匹配到的東西



评分

参与人数 2星屑 +50 +1 收起 理由
RyanBern + 50 认可答案
miantouchi + 1 塞糖

查看全部评分

我发的贴子大多未经整理是草稿抱歉
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-23 13:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表