にそれを挿入し、私のようなものに見えるモデルがあります:JSONとしてmetrics
フィールドでルビーon Railsの:ハッシュ文字列に分割して、JSON
:created_at => Tue, 06 Jun 2017 15:34:32 UTC +00:00,
:updated_at => Tue, 06 Jun 2017 15:34:35 UTC +00:00,
:metrics => {
"metric_a" => 10756,
"metric_b" => "",
"metric_c" => 6.67267607666759
},
:status => "working"
を。
そして、私は、次のような文字列を分割したい:各カテゴリは二つの数字、それを次の割合と数を保持するようにmetrics
フィールドの下にcategories
名前を付ける
"Home/Personal Finance=37.00%=55,Computers/Internet/Web Design and Development=13.77%=48,News=8.64%=45,Arts/Television=5.23%=42,Arts/Music=2.99%=39,News/Current Events=2.66%=38,Society/Issues=2.47%=38,Computers/Internet/On the Web=2.46%=38,Business/Investing=1.76%=36,Society=1.70%=36"
を。基本的に私は(?多分道でそれらを格納するためのより良い方法があります)カテゴリごとに2つの数値を保存したい
:created_at => Tue, 06 Jun 2017 15:34:32 UTC +00:00,
:updated_at => Tue, 06 Jun 2017 15:34:35 UTC +00:00,
:metrics => {
"metric_a" => 10756,
"metric_b" => "",
"metric_c" => 6.67267607666759
"categories" => {
"Home/Personal Finance": [37.00,55],
"Computers/Internet/Web Design and Development": [13.77,48],
...
}
},
:status => "working"
: は、だから、上記の例では次のようになります。
どちらの方法でも、文字列を.split(",")
で分割することはできますが、次に何をするのですか?
'each_with_object'、それは良いことです!私はそのことを勉強しなければならないだろう。ちょっと、 'split_line.split( '=')。tap do | line_parts |'で行ったのは、 'items = line.split(" = ")'の割り当てを避けようとしていたからです。なぜ私がそれを避けようとしていたのか、正当な理由はありません。あなたは譲渡の賛否両論について意見がありますか?申し訳ありませんが、それはばかな質問です。 – jvillian
@jvillianそれも良いですし、より慣れているようです。実際、私はその種の課題も好きではない(正当な理由もない)ので、私はそれらを避けようとします。この場合、コード1の行を短くし、読みやすくすることは間違いありません。 – Gerry