Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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
在Middleman中从JSON创建Ruby数组_Ruby_Arrays_Json_Middleman - Fatal编程技术网

在Middleman中从JSON创建Ruby数组

在Middleman中从JSON创建Ruby数组,ruby,arrays,json,middleman,Ruby,Arrays,Json,Middleman,我想从用于本地数据的JSON文件中创建一个Middleman中的数字Ruby数组。目的是使用各种方法来比较和添加值。我很接近,但我不知道如何将循环内容放入数组 我已经阅读了一些相关的问题和文档,但就语法而言,我不确定Middleman在JSON方面的起点和终点 通过下面的示例,我希望生成一个Ruby数组,例如: 最大赌注=[4,8] JSON的一个小示例: [ { "id": "001", "wins": 10, "totalSpins": 16, "maxB

我想从用于本地数据的JSON文件中创建一个Middleman中的数字Ruby数组。目的是使用各种方法来比较和添加值。我很接近,但我不知道如何将循环内容放入数组

我已经阅读了一些相关的问题和文档,但就语法而言,我不确定Middleman在JSON方面的起点和终点

通过下面的示例,我希望生成一个Ruby数组,例如: 最大赌注=[4,8]

JSON的一个小示例:

[
  {
    "id": "001",
    "wins": 10,
    "totalSpins": 16,
    "maxBet": 4
  },
  {
    "id": "002",
    "wins": 10,
    "totalSpins": 21,
    "maxBet": 8
  }
]
为了手动实现最终结果,我将输出一个循环的结果,然后手动将其粘贴到一个数组中

def maxBet
  all = [4,8]
  all.max
end
我在模拟我想要创建的内容时的最后一次尝试是打印一个无效数组。似乎我需要使用for循环进行迭代,并将结果推送到数组中,但我不知道如何进行

\[
- data.roulettingale.each do |s|
  =s.maxBet
\,
\]

[4,8,]

我将非常感谢您能为我提供帮助,帮助我实现这一目标。

或者我不理解您的问题,或者:

s = '[
  {
    "id": "001",
    "wins": 10,
    "totalSpins": 16,
    "maxBet": 4
  },
  {
    "id": "002",
    "wins": 10,
    "totalSpins": 21,
    "maxBet": 8
  }
]'
require 'json'
JSON.parse s
#⇒ [
#   {"id"=>"001", "wins"=>10, "totalSpins"=>16, "maxBet"=>4},
#   {"id"=>"002", "wins"=>10, "totalSpins"=>21, "maxBet"=>8}
# ]
希望能有帮助

UPD生成包含
maxBet
s的数组:

data.roulettingale.map { |item| 
  item['maxBet'] 
}
#⇒ => [
#  [0] 4,
#  [1] 8
# ]

data.roulettingale.map { |item| 
  item['maxBet'] 
}.inspect
#⇒ [4, 8]
要选择
maxBet的最大值

data.roulettingale.map { |item| 
  item['maxBet'] 
}.max
#⇒ 8

我真的很感谢你看一眼。我想我不清楚我想做什么,所以我编辑了我的问题。幸运的是,有了Middleman,我可以内置解析功能。我的梦想是得到所有对象的数字的最终结果。比如:m=[4,8]那么,你的
数据.roulettingale
包含这个json,你想打印出maximal
maxBet
,对吗?太棒了,非常感谢!我回来更新是因为我在Twitter上得到了一些帮助,但就是这样!