2016-12-20 1 views
0

Ich habe ein Ruby-Code wie folgt aus:Run von der Kommandozeile Ruby-Methode mit Rückgabewert

module MyClass 
    def self.my_method? 
     return false 
    end 
end 

von der Kommandozeile Ich habe diese Methode aufrufen und den Rückgabewert zu erhalten. Aber wenn ich mache

ruby -e "require './PATH/TO/THE/FILE/file.rb'; MyClass.my_method?" 

Ich bekomme immer $? oder exit code = 0.

Wie kann ich Ruby-Methoden aufrufen, um den Rückgabewert zu erhalten?

Dank

Antwort

0

Dies ist eine sehr ungewöhnliche Art und Weise Ruby-Code zu nennen, aber wenn Sie es tun müssen:

ruby -r ./file.rb -e 'exit(MyClass.my_method? ? 0 : -1)' 

, dass ein boolean konvertiert Antwort auf etwas, das explizit an exit übergeben wurde, wo Sie es als Exit-Code sammeln können. Sie können Ihr Ergebnis bei Bedarf einem Fehlercode zuordnen. Ich habe hier nur -1 als Beispiel verwendet.

Verwandte Themen