Erhöhung Wenn Sie eine Reihe von Klassen in Ruby Namespace wollen, tun Sie in der Regel:Namespace den Inhalt einer Datei, aber ohne Einzug
# my_namespace.rb
module MyNamespace
class ClassOne
# ...
end
class ClassTwo
# ...
end
# ...
end
, die die unglückliche Nebenwirkung der Erhöhung der Einzugsebene aller hat der Code in der Datei. Ich wäre eher in der Lage, etwas wie eine Anweisung an der Spitze der Datei zu tun, die effektiv gesagt, "alles in dieser Datei sollte in der MyNamespace
Modul sein".
Ist das möglich?
HINWEIS: Ich bin bewusst, dass ich nur die module
Verpackung halten konnte aber nicht indent alles, aber diese Lösung ist imo nicht akzeptabel.
Sie könnten tun 'Klasse MyNamespace :: ClassOne' –
Guter Punkt. Nicht ideal, aber die zusätzliche Ausführlichkeit jedes Klassennamens ist wohl ein kleineres Übel als die zusätzliche Einzugsebene. Ich werde diese Antwort akzeptieren, wenn niemand mit etwas Besserem zu tun hat. – Jonah
Was ist das Problem, das Sie versuchen zu lösen? Warum ist das Hinzufügen einer Einrückungsebene ein Problem? Ich würde argumentieren, dass die Ebene der Einrückung hilft, den Code zu verstehen und zu lesen. – spickermann