Zitat Zitat von Kelven Beitrag anzeigen
Dann tritt das Problem also nur auf, wenn man eine Variable auf false setzt? Ich war mir da nicht so sicher. Es ist auf jeden Fall so, dass der Interpreter, wenn der letzte Befehl ein false liefert, den Code nicht vernünftig ausführt.
Das ist nicht ganz korrekt.
Es geht darum, dass die Methode als ganzes immer ein "true" zurück liefern muss. In Ruby besitzt jede Methode einen Return-Wert, selbst diejenigen, welche kein "return" im Code stehen haben.
Der Wert der zurückgegeben wird ist dann immer die Auswertung des letzten Commandos.

Allerdings ist das natürlich nur dann relevant wenn du die Methode außerhalb des Conditional-Branches verwenden willst.
Im Übrigen ist dieses Verhalten des Interpreters im XP ein Programmierfehler soweit ich das erkennen kann. Es scheint so als würde es absolut keinem Zweck entsprechen und sei durch unachtsamkeit entstanden. Es könnte natürlich auch sein, dass ich dabei etwas übersehe, aber das scheint mir höchst unwahrscheinlich.