Ruby: verschachtelte if-Anweisungen

War ich ein wenig code schreiben, und es endete als viel zu hässlich für meinen Geschmack. Gibt es trotzdem, ich kann es umgestalten, so dass ich don ' T verwenden Sie verschachtelte if-Anweisungen?

def hours_occupied(date)
  #assuming date is a valid date object    
  availability = get_work_hours(date)
  focus = "work"

  if availability.nil
    availability = get_family_hours(date)
    focus = "family"

    if availability.nil
      availability = get_friend_hours(date)
      focus = "friends"
    end
  end
end

Ich weiß, ich werde in der Lage sein, etwas zu tun, wie dies für die Verfügbarkeit

availability = get_work_hours(date) || get_family_hours(date) || get_friend_hours(date)

aber wie kann ich die Fokus-variable entsprechend?

  • Können wir annehmen, dass Sie nicht zeigen, die komplette Methode? ansonsten macht es keinen Sinn zu ordnen diesen ungenutzten Variablen. Wenn das der Fall ist, fügen Sie "..." als Platzhalter an der Unterseite der Methode.
  • Finde ich mich völlig unfähig zu understande das Thema und den Zweck seines code, das macht mich unfähig zu reagieren.
InformationsquelleAutor rlhh | 2013-06-19
Schreibe einen Kommentar