我仍在尝试创建一个应用程序,用户可以使用化学元素转换他的名字或单词(比如打破坏标识)。
用户将在文本字段中输入单词,当他提交时,如果匹配则返回带有相应化学符号的单词,如果不匹配,则会显示“原始”字母。
例如:如果没有符号匹配,我会保留初始条目,因此它可能是:hello => 他 ll O (粗体字符代表现有的化学符号)
我知道这可以在js中完成,但挑战是ROR(顺便说一下,我不知道任何js ......)
在之前的一个问题中,我只有一个哈希:
symbols =
{"cr" => "Cr",
"sb" => "Sb",
"ag" => "Ag",
"ar" => "Ar",
"as" => "As",
"at" => "At",
"n" => "N",
"ba" => "Ba",
"bk" => "Bk"}
我正在使用name.downcase.gsub!(Regexp.union(symbols.keys), symbols)
来转换用户条目。实际上我需要更多的数据...这就是我选择json文件的原因。
就像这张照片一样,我需要使用:
(“名称”将出现在下面的标题中)
我已经组织了一个 .json 文件,其中包含我在应用中可能需要的所有符号,并将其存储在我的config/periodic_table.json
中(仅粘贴一个样本,因为它很长)。
[ "symbols"
{
"h": {
"name": "Hydrogen",
"number": 1,
"small": "H",
"molar": 1.00794
},
"he": {
"name": "Helium",
"number": 2,
"small": "He",
"molar": 4.002602
},
"b": {
"name": "Boron",
"number": 5,
"small": "B",
"molar": 10.811
},
"c": {
"name": "Carbon",
"number": 6,
"small": "C",
"molar": 12.0107
},
"n": {
"name": "Nitrogen",
"number": 7,
"small": "N",
"molar": 14.0067
}
}
]
答案 0 :(得分:0)
更正Json格式
[{
"symbols":{
"h":{
"name": "Hydrogen",
"number": 1,
"small": "H",
"molar": 1.0079
},
"he":{
"name": "Helium",
"number": 2,
"small": "He",
"molar": 4.002602
},
"b": {
"name": "Boron",
"number": 5,
"small": "B",
"molar": 10.811
},
"c": {
"name": "Carbon",
"number": 6,
"small": "C",
"molar": 12.0107
},
"n": {
"name": "Nitrogen",
"number": 7,
"small": "N",
"molar": 14.0067
}
}
}]