Ruby 字符串的未定义方法'+@',而不是空格问题

Ruby 字符串的未定义方法'+@',而不是空格问题,ruby,string,methods,undefined,Ruby,String,Methods,Undefined,我有一个程序,它可以获取两个数组并从它们的内容中创建一个字符串,格式为[0]+B[0]+a[1]+B[1]…等等。问题是,奇怪的是,ruby中没有像++这样的东西。改用n+=1 此代码: n++ complexKey << "#{isbn}_" 被解释为: n + +(comlexKey << "#{isbn}_") +@是一元加号,常用于数字,如+1.0为正数。我看不出在您提供的代码中您在哪里使用它,事实上,我只看到一个增量,它不能以这种方式冲突。此外,您还可以使用

我有一个程序,它可以获取两个数组并从它们的内容中创建一个字符串,格式为[0]+B[0]+a[1]+B[1]…等等。问题是,奇怪的是,ruby中没有像++这样的东西。改用n+=1

此代码:

n++
complexKey << "#{isbn}_"
被解释为:

n + +(comlexKey << "#{isbn}_")

+@是一元加号,常用于数字,如+1.0为正数。我看不出在您提供的代码中您在哪里使用它,事实上,我只看到一个增量,它不能以这种方式冲突。此外,您还可以使用带有索引的每个_,并避免使用n进行攻击:您可以使用versions.zipisbns.flatte.join来代替循环。@matt isbn被指定为块变量。未定义的是isbns。Ruby中没有++运算符,您的表达式以n++complexKey形式输入。注意,您可以执行[isbns,versions].transpose.each do | isbn,version |等操作,如果您想同时对这两个操作进行迭代。如果您对每一个都有正确的数据结构,则不需要n。
n++
complexKey << "#{isbn}_"
n + +(comlexKey << "#{isbn}_")