Когда вы отлаживаете, очень полезно сделать это:
var = calc()
print("var:", var)
Есть ли язык, где это легко сделать?В C и C ++ вы можете использовать оператор stringify macro #, а в Ruby я нашел такой вопрос:
Ruby - выведите имя переменной и затем ее значение
Решениекоторый использует символ: var и блок - это то, что я хочу.
В D я использовал это:
void trace(alias msg)() {
writeln(msg.stringof ~ ":" ~ to!string(msg));
}
Но я не уверен, что это лучший способ, потому что он работаеттолько в простых случаях.Я пробовал несколько способов, но иногда вы можете получить строку, но не значение (потому что переменные находятся вне области видимости), или вам сначала нужно смешать шаблон, а затем вызвать функцию.
А как насчетДругие языки?Python?F #?Бу?Сценарий оболочки (какая оболочка)?Perl?(Я предпочитаю держаться подальше от Perl, хотя)Tcl?Лисп, Схема?Джава?(крайне маловероятно, что Java сможет это сделать).
Даже в тех языках, где я нашел какое-то решение, оно работает только для простых случаев.Что если я хочу напечатать произвольное выражение?
Если бы я разрабатывал язык, эта функция была бы обязательной.: -)