Ich fand Erlangs ~p
Format-Befehl hilfreich beim Debuggen: es pretty-druckt Daten in ein Formular, das in Erlang Round-tripped zurückgegeben werden kann.Drucken von Daten im Debugging-Kontext
In Elixir kann ich
require Logger
# ...
Logger.debug("foo=#{inspect foo} bar=#{inspect bar}")
und erhalten den Effekt, den ich will, aber die Eingabe von „inspizieren“ überall ist ein Schmerz und manchmal in meinem Code-Basis muss ich Kernel.inspect
. Ich möchte lieber, dass es genau das Richtige tat:
require Logger
# ...
Logger.debug("foo=#{foo} bar=#{bar}")
Das funktioniert nicht, weil ich Elixir Vorstellung davon, wie foo
und bar
in einem UI zu repräsentieren - Atomen und (beide Arten von) Strings Drucken Sie dasselbe, und Karten werfen einen Fehler, anstatt zu drucken.
Kann ich Elixir anweisen, Kernel.inspect als Standardmethode zum Drucken zu verwenden?
Ich denke, ich möchte String.Chars haben '@ Fallback_to_any' set' true'. Ist es möglich, das zu ändern? –
Nicht ohne deine eigene Version von Elixier zu kompilieren, gibt es gute Gründe, warum dies nicht der Standard ist. –
Ich würde einen Link zu einigen dieser Gründe lieben, wenn Sie einen haben –