「最大の」重みを保持するカテゴリをカテゴリ内で見つける必要があります。私は環境変数に重みを定義します。Rubyでmax_byを使用して、ハッシュ内の最大数のキーを探します。
CATEGORY_WEIGHTS = {
"small_standard": 0,
"large_standard": 1,
"small_oversize": 2,
"medium_oversize": 3,
"large_oversize": 4
}
この例では、「最大」の重み付きカテゴリはlarge_oversize
だろう。
私はこのようなルックスをチェックしてる配列:
categories = [
"small_oversize",
"large_standard",
"small_standard",
"large_oversize"
]
しかし、私はこれを行うとき、それは正しい値戻りません:それはsmall_oversize
代わりのlarge_oversize
返し
max_category = categories.max_by{ |cat| CATEGORY_WEIGHTS[cat] }
を。
私はどこに迷いましたか?
ハッシュ宣言 ' "X" で:X => y':y'は'になります。実際の文字列キーは '' x "=> y'です。 – tadman