我是 Ruby 新手,在执行命令时出现此错误。
warning: parser/current is loading parser/ruby22, which recognizes
warning: 2.2-compliant syntax, but you are running 2.3.1.
Run Code Online (Sandbox Code Playgroud)
我的 Ruby 版本是 2.3.1 我的解析器版本是 2.4.0.0。
我不知道为什么解析器从 ruby22 加载,它甚至没有安装在我的电脑中。
任何帮助,将不胜感激。
我有这样的哈希:
hash = {"str1"=>5, "str2"=>9, "str3"=> 3}
Run Code Online (Sandbox Code Playgroud)
hash.keys 结果就是这样 ["str1", "str2", "str3"]
hash.values 结果就是这样 [5, 9, 3]
我正试图通过Axlsx使用将其导出为excelsheet.add_row
sheet.add_row [hash.keys[0], hash.values[0]] # hash.keys[0] = "str1" and hash.values[0] = 5
sheet.add_row [hash.keys[1], hash.values[1]] # hash.keys[1] = "str2" and hash.values[1] = 9
sheet.add_row [hash.keys[2], hash.values[2]] # hash.keys[2] = "str3" and hash.values[2] = 3
Run Code Online (Sandbox Code Playgroud)
在Excel工作表中,这是结果

如果哈希值不大但是如果它由20个或更多元素组成,这很简单,这样做这样做根本就不实际!我希望以更好的方式为哈希的所有元素执行此操作.
sheet.add_row [hash.keys[0], hash.values[0]]
sheet.add_row [hash.keys[1], hash.values[1]]
sheet.add_row [hash.keys[2], hash.values[2]]
........
sheet.add_row [hash.keys[19], hash.values[19]]
Run Code Online (Sandbox Code Playgroud) 我有一个哈希:
hash = {"str1"=>2, "str2"=>3, "str3"=>7}
Run Code Online (Sandbox Code Playgroud)
我想计算哈希中每个元素的百分比,所以我可以得到一个这样的:
{"str1"=>16.66% , "str2"=>25.00%, "str3"=>58.33%}
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?谢谢