Ich möchte ein Ruby-Skript so schreiben:
%Vor% Ich möchte es in der Unit testen können, weshalb ich nicht möchte, dass der Code außerhalb der Klasse ausgeführt wird, wenn ich das Skript nicht direkt ausführe, d. h. ruby foo_it_up.rb
.
Ich weiß, dass ich einfach die Foo
-Klasse in eine andere Datei und require 'foo'
in mein Skript schreiben kann. In der Tat, das ist wahrscheinlich ein besserer Weg, es zu tun, nur für den Fall, dass die Funktionalität von Foo
woanders gebraucht wird. Also meine Frage ist akademischer als alles andere, aber ich wäre immer noch daran interessiert zu wissen, wie man das in Ruby macht.
Dies geschieht normalerweise mit
%Vor%aber ich bevorzuge
%Vor% weil Programme wie ruby-prof kann $ 0 nicht gleich machen __FILE__
, auch wenn Sie --replace-progname
verwenden.
bezieht sich auf den Namen des Programms ( $PROGRAM_NAME
__FILE__
), während %code% der Name der aktuellen Quelldatei ist.
Tags und Links ruby