Ich versuche, Benutzereingaben mit Werten in meinem Hash zu vergleichen.
Wenn ich beispielsweise "e".scrabble()
in IRB ausgeführt würde, würde es den Wert für "e" in meinem Hash zurückgeben.
Ich habe herausgefunden, wie ich feststellen kann, ob es in meinem Hash ist und ob es einem der Schlüssel im Hash entspricht.
class String
define_method(:scrabble) do
value_for_letters = {
"A"=> 9,"B" => 2,"C" => 2,"D" => 4,"E" => 12,"F" => 2,
"G" => 3, "H" => 2, "I" => 9,"J" => 1, "K" => 1,
"L" => 4,"M" => 2,"N" => 6,"O" => 8,"P" => 2,"Q" => 1,
"R" => 6,"S" => 4,"T" => 6,"U" => 4,"V" => 2,"W" => 2,
"X" => 1,"Y" => 2,"Z" => 1
}
value_for_letters.keys().==(self.capitalize())
"true"
end
end
class String
LETTER_VALUE_MATCHING = {
'A' => 9, 'B' => 2, 'C' => 2, 'D' => 4, 'E' => 12,
'F' => 2, 'G' => 3, 'H' => 2, 'I' => 9, 'J' => 1,
'K' => 1, 'L' => 4, 'M' => 2, 'N' => 6, 'O' => 8,
'P' => 2, 'Q' => 1, 'R' => 6, 'S' => 4, 'T' => 6,
'U' => 4, 'V' => 2, 'W' => 2, 'X' => 1, 'Y' => 2,
'Z' => 1
}
def scrabble
LETTER_VALUE_MATCHING[self.capitalize]
end
end
'a'.scrabble
# => 9
'-'.scrabble
# => nil
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen