Ruby 可枚举方法示例
Ruby enumerable method example
TL;DR:我是 Ruby 的新手,需要有关 Enumerable 方法以及如何使用它们的帮助。
我正在构建一个测试信息数组的数组,其结构如下:
[[ "Run #", "Server", "Test", "OS", "Browser", "Result" ],
[ "1", "bibble", "perf_test", "Windows 8", "firefox 33", "failed"]]
我正在尝试编写一个基本的统计输出(按结果和其他方面排序,特别是为了让人们立即明白是所有 firefox 测试都失败了,还是服务器 bibble 上的所有测试都失败了失败。)据我所知,可枚举操作允许我这样做,但我找不到关于如何使用这些方法的明确示例(如 LI5 clear)示例。
所以我的问题是——在至少一个 3x3 数组数组上使用 Enumerable 方法的最简单示例是什么?
我建议您使用与数组数组不同的数据结构。您可以使用结构、自定义 class,甚至只是一个哈希数组。这为您提供了巨大的可读性和可查询性优势,同时也带来了轻微的性能提升。
这是一个散列数组的示例:
runs =
[{"Run #" =>"1",
"Server" =>"bibble",
"Test" =>"perf_test",
"OS" =>"Windows 8",
"Browser"=>"firefox 33",
"Result" =>"failed"
},
{"Run #" =>2,
"Server" =>"bibble",
"Test" =>"perf_test",
"OS" =>"Linux",
"Browser"=>"firefox 26",
"Result" =>"failed"
}]
顺便说一下,我是从你的数组中创建它的,就像这样:a.drop(1).map {|x| a.first.zip(x).to_h}
一旦有了,就可以使用Enumerable方法进行查询select
。要查找所有失败的 Firefox 测试:
runs.select{|r| r["Result"]=="failed"}.select{|r| r["Browser"]=~/firefox/}
TL;DR:我是 Ruby 的新手,需要有关 Enumerable 方法以及如何使用它们的帮助。
我正在构建一个测试信息数组的数组,其结构如下:
[[ "Run #", "Server", "Test", "OS", "Browser", "Result" ],
[ "1", "bibble", "perf_test", "Windows 8", "firefox 33", "failed"]]
我正在尝试编写一个基本的统计输出(按结果和其他方面排序,特别是为了让人们立即明白是所有 firefox 测试都失败了,还是服务器 bibble 上的所有测试都失败了失败。)据我所知,可枚举操作允许我这样做,但我找不到关于如何使用这些方法的明确示例(如 LI5 clear)示例。
所以我的问题是——在至少一个 3x3 数组数组上使用 Enumerable 方法的最简单示例是什么?
我建议您使用与数组数组不同的数据结构。您可以使用结构、自定义 class,甚至只是一个哈希数组。这为您提供了巨大的可读性和可查询性优势,同时也带来了轻微的性能提升。
这是一个散列数组的示例:
runs =
[{"Run #" =>"1",
"Server" =>"bibble",
"Test" =>"perf_test",
"OS" =>"Windows 8",
"Browser"=>"firefox 33",
"Result" =>"failed"
},
{"Run #" =>2,
"Server" =>"bibble",
"Test" =>"perf_test",
"OS" =>"Linux",
"Browser"=>"firefox 26",
"Result" =>"failed"
}]
顺便说一下,我是从你的数组中创建它的,就像这样:a.drop(1).map {|x| a.first.zip(x).to_h}
一旦有了,就可以使用Enumerable方法进行查询select
。要查找所有失败的 Firefox 测试:
runs.select{|r| r["Result"]=="failed"}.select{|r| r["Browser"]=~/firefox/}