Я хочу временно переименовать встроенный символ и использовать его с другим именем, блокируя основной название этого символа. Например, я хочу, чтобы следующий код печатал только «2», но не «1» и «3»:
Block[{print = Print, Print}, Print[1]; print[2]; Print[3];]
На самом деле приведенный выше код ничего не печатает.
Можно ли заставить print
работать внутри такого кода, полностью блокируя символ Print
?
Решения типа
With[{Print = f, print = Print}, Print[1]; print[2]; Print[3];]
не подходят, поскольку Print
на самом деле не заблокирован внутри такого кода.
Вопрос возник, когда думал о том, как отключить отслеживание внутренних компонентов сообщения
.