Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby不正确的阵列管理_Ruby_Arrays - Fatal编程技术网

Ruby不正确的阵列管理

Ruby不正确的阵列管理,ruby,arrays,Ruby,Arrays,我有以下代码: nonce = data.scan(/nonce="(.*)"/) 数据是一个字符串,匹配的字符串片段被分配到nonce变量,该变量自动成为一个数组。 现在,如果我 puts nonce[0] 我将正确打印我的值: 51d8852d 但如果使用: puts "final string #{md1}:#{nonce[0]}:#{md2}" 输出将是: df49f55acfd9d21837fd840644f251b4:["51d8852d"]:3b7718806908d2a4

我有以下代码:

nonce = data.scan(/nonce="(.*)"/)
数据
是一个字符串,匹配的字符串片段被分配到nonce变量,该变量自动成为一个数组。 现在,如果我

puts nonce[0]
我将正确打印我的值:

51d8852d
但如果使用:

puts "final string #{md1}:#{nonce[0]}:#{md2}"
输出将是:

df49f55acfd9d21837fd840644f251b4:["51d8852d"]:3b7718806908d2a4456086be7daba94ccd36ea19fd2bfa80ae41fa8be23433b7
但不应该有任何括号或双引号,我应该只得到数组的值。 应该是这样的:

df49f55acfd9d21837fd840644f251b4:51d8852d:3b7718806908d2a4456086be7daba94ccd36ea19fd2bfa80ae41fa8be23433b7
你能建议我如何解决这个问题吗? 谢谢


Dawid

当您对捕获组使用扫描时,结果是一个数组数组,因此您希望使用
nonce[0][0]
。您之所以感到困惑,是因为第一个示例将
nonce[0]
作为数组馈送到
put
,后者通过打印出每个元素来处理数组。如果执行
放置nonce[0].class
,您将看到…

或使用nonce.flatte[0]。最终结果是一样的,所以这实际上取决于什么看起来更好。