gpt4 book ai didi

ruby - match 方法和 =~ 运算符有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-03 18:16:00 24 4
gpt4 key购买 nike

两种表达方式:

puts "String has vowels" if "This is a test".match(/[aeiou]/)

puts "String has vowels" if "This is a test" =~ /[aeiou]/

看起来完全一样。他们不是吗?我在下面做了一些测试:

"This is a test" =~ /[aeiou]/
# => 2

"This is a test".match(/[aeiou]/)
# => MatchData "i"

所以看起来 =~ 给你第一个匹配的位置,而 match 方法给你第一个匹配的字符。它是否正确?它们都返回 true 那么这里有什么区别呢?

最佳答案

它们只是在匹配时返回的内容不同。如果没有匹配项,则两者都返回 nil

~= 返回匹配开始的字符串中字符的数字索引
.match 返回类 MatchData

的实例

关于ruby - match 方法和 =~ 运算符有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26187905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com