nilとの比較を避けるにはどうすればよいですか? ソートするとき、私はnilの値は、最後の要素になりたい:nilのときにsort_byの値を与える方法
hash.sort_by{|k,v| [v.present? ? v : 99999999]}
nilとの比較を避けるにはどうすればよいですか? ソートするとき、私はnilの値は、最後の要素になりたい:nilのときにsort_byの値を与える方法
hash.sort_by{|k,v| [v.present? ? v : 99999999]}
あなたの質問は明らかではないが、私は理解して、これはあなたを助ける必要があります。
#> hash
#=> {:b=>nil, :c=>4, :v=>7}
hash.sort_by { |_,value| value || Float::INFINITY }.to_h
#=> {:c=>4, :v=>7, :b=>nil}
[2, 5, 1, nil, 7, 3, nil, nil, 4, 6].sort_by { |i| [i ? 0 : 1, i] }
#=> [1, 2, 3, 4, 5, 6, 7, nil, nil, nil]
いいですが、何が起こっているのか簡単に説明してください。 – Stefan
hash.sort_by{|k,v| [v ? v : 99999999]}.to_h
ハッシュに99,999,999以上の数字が含まれているとどうなりますか?それは 'nil'値の後に現れます。 – Stefan
これらの整数または浮動小数点値はありますか? – Bathsheba
実際の入力と希望する出力を追加してください。 –
'hash.sort_by {| k、v | v || Float :: INFINITY} .to_h' –