RubyKoans 113/282-类型不匹配:给定字符串/我如何用irb解决自己的问题?

RubyKoans 113/282-类型不匹配:给定字符串/我如何用irb解决自己的问题?,ruby,Ruby,在尝试完成about_方法koans时,我在第39行和第42行一直遇到“type mismatch:String-given”错误。我的第一个问题是为什么会出错?我的第二个问题是,我如何能够用irb解决这个问题 科安 require File.expand_path(File.dirname(uuuu File_uuu)+'/neo') 定义我的全局方法(a、b) a+b 终止 关于方法的课程

在尝试完成about_方法koans时,我在第39行和第42行一直遇到“type mismatch:String-given”错误。我的第一个问题是为什么会出错?我的第二个问题是,我如何能够用irb解决这个问题

科安
require File.expand_path(File.dirname(uuuu File_uuu)+'/neo')
定义我的全局方法(a、b)
a+b
终止
关于方法的课程
错误与我的工作 A.如果我将断言更改为

assert_match(/“参数数目错误(2为0)”/,exception.message)

其结果是:

应匹配“错误数量的参数(0代表2)”/“错误数量的参数(0代表2)”/

如果我把它改成

assert_match(“参数数量错误(0代表2)”,exception.message)

其结果是:

类型不匹配:字符串给定


两个assert\u匹配行的结果相同。

第一个失败是因为括号是正则表达式中的特殊字符,所以需要用反斜杠对其进行转义。正则表达式中也有引号,但字符串中不存在引号。第二个失败可能是因为
assert\u match
需要一个正则表达式作为第一个参数

至于使用irb调试这些问题,您可以使用irb查看实际字符串是否与您提供的正则表达式匹配,如下所示:

2.0.0p247 :001 >  /"wrong number of arguments (0 for 2)"/ =~ "wrong number of arguments (0 for 2)"
 => nil
然后,您可以缩小左侧和右侧,直到它们匹配,然后添加后面的字符,直到您找到问题字符


我不确定irb如何帮助解决第二个问题。

第一个失败是因为括号是正则表达式中的特殊字符,所以需要用反斜杠对其进行转义。正则表达式中也有引号,但字符串中不存在引号。第二个失败可能是因为
assert\u match
需要一个正则表达式作为第一个参数

assert_match(/wrong number of arguments \(0 for 2\)/, exception.message)
至于使用irb调试这些问题,您可以使用irb查看实际字符串是否与您提供的正则表达式匹配,如下所示:

2.0.0p247 :001 >  /"wrong number of arguments (0 for 2)"/ =~ "wrong number of arguments (0 for 2)"
 => nil
然后,您可以缩小左侧和右侧,直到它们匹配,然后添加后面的字符,直到您找到问题字符

我不确定irb如何帮助解决第二个问题

assert_match(/wrong number of arguments \(0 for 2\)/, exception.message)
没有双引号和转义括号

/["wrong number of arguments (0 for 2)"]/ 
没有双引号和转义括号

/["wrong number of arguments (0 for 2)"]/ 
为我工作


为我工作

Thank@Peter我不知道//中的任何内容都是正则表达式,我假设它们是占位符,比如u Thank@Peter我不知道//中的任何内容都是正则表达式,我假设它们是占位符,比如u我知道我不应该在回答中提问。我只是不确定我是否应该把答案写清楚我知道我不应该在回答中问任何问题。我只是不确定我是否应该把答案写清楚。。