Ce n'est peut-être pas la solution la plus jolie qui soit, mais je pense que la meilleure solution est d'utiliser le pont de scriptage Objective-C. L'autre solution consisterait à utiliser directement la ligne de commande et la commande printf
ce qui serait probablement encore plus désordonné.
À l'aide de la passerelle de script, vous pouvez réaffecter console.log
à une fonction personnalisée qui écrit dans stdout
en utilisant NSFileHandle.fileHandleWithStandardOutput
. Si vous placez cette définition au début de votre programme, vous pouvez alors utiliser cette révision console.log
.
console.log = function() {
ObjC.import('Foundation');
for (argument of arguments) {
$.NSFileHandle.fileHandleWithStandardOutput.writeData($.NSString.alloc.initWithString(String(argument) + "\n").dataUsingEncoding($.NSNEXTSTEPStringEncoding));
}
}
Notez que j'ai ajouté un saut de ligne à la fin de chaque chaîne de caractères - vous pouvez adapter ce comportement à vos besoins.