Я искал его, но не нашел ничего подобного printf в Action Script.Есть ли что-то вроде printf в Action Script 3?
Это затрудняет создание сформированных строк.
Я искал его, но не нашел ничего подобного printf в Action Script.Есть ли что-то вроде printf в Action Script 3?
Это затрудняет создание сформированных строк.
Printf-as - это сторонняя библиотека, которая будет обрабатывать это. Here - это репо GitHub. Из README:
printf("You can also display numbers like PI: %f, and format them to a fixed precision,
such as PI with 3 decimal places %.3f", Math.PI, Math.PI);
// outputs: " You can also display numbers like PI: 3.141592653589793,
// and format them to a fixed precision, such as PI with 3 decimal places 3.142"
Он также хорошо играет с датами:
var date : Date = new Date();
printf("Today is %d/%m/%Y", date, date, date);
Единственная функция, которую я знаю, которая печатает на стандартный вывод, - это trace() (только для целей отладки), которая может принимать практически любой тип переменной.
Возможно, я не понял ваш вопрос.
На самом деле, я имею в виду что-то вроде "sprinf". Мне не нужно отправлять текст на консоль. Мне нужно сгенерировать форматированные строки. – ablmf
Зачем? На текстовом поле? Ввод текста очень ограничен в AS3 (Number, int, String, в основном), я думаю, вы можете дать нам более подробную информацию о том, что вы хотите сделать. –
Существует классы Formatter, которые можно использовать или создавать пользовательские форматирования.
http://livedocs.adobe.com/flex/3/html/help.html?content=createformatters_2.html
mx.formatters.Formatter - общий базовый класс «позволяет манипулировать строками», который не имеет никаких возможностей 'sprintf()', даже не заменяет поля a-la Java MessageFormat, который 'StringUtil' имеет (из @Acatl Ответ Пачеко). Это тоже не ActionScript generic - я сомневаюсь, что это имеет смысл вне MXML. – Guss
думаю, что вы могли бы искать StringUtil.substitute()
посмотрите здесь: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/utils/StringUtil.html#substitute
неработающая ссылка, попробуйте эту: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/utils/StringUtil.html#substitute() –
что сказал, мне это не нравится: он не имеет ни одной из полезных функций printf, и он не предлагает никакой функции, кроме простой конкатенации строк с помощью '+'. –
Хотя StringUtil не имеет возможности форматирования чисел 'sprintf', это полезно в том смысле, что позволяет отделить генерацию шаблона от действия форматирования, что также является полезной функцией' sprintf'. И тот факт, что он встроен и не требует внешнего кода, является большим плюсом в моей книге. – Guss
Также http://code.google.com/p/printf-as3/ –
К сожалению, он слишком ограничен, чтобы быть полезным, такие вещи, как '% -12s', не работают. –