Wydrukuj wiadomość

Oct 18 2020

Czy istnieje sposób, aby Printwiadomość była odpowiednia dla Message? Chcę ponownie przetworzyć niektóre wiadomości (ale Printje, aby nie były wygaszane po X razy i wyglądały jak Printdane wyjściowe).

Na przykład

Test::message="This is test number `1`.";
Message[Test::message,1]

Pożądana funkcjonalność:

PrintMessage[Test::message,1]
(* This is test number 1. *)

Wstawianie części między tylnymi kleszczami jest tym, co naprawdę mnie zdezorientowało.

Odpowiedzi

5 xzczd Oct 19 2020 at 02:12

Po prostu użyj StringForm:

PrintMessage[mess_, val__] := Print@StringForm[mess, val]

Lub StringTemplate:

PrintMessage[mess_, val__] := Print@StringTemplate[mess][val]