X++: метод strfmt()
[id:47]
Метод strfmt() — первый на очереди, когда хочется выразить свое недовольство действиями пользователя. Это то же самое, что и функция printf() в языке С++. Это тоже самое, что и метод String.Format() в .NET. Да, правильно, этим методом формируют строки. Места для подстановки значений обозначаются парой «процент-число». Поехали:
static void BLG47_Ads(Args _args)
{
Counter cnt;
str AdString(str sex, str horoscope, str behavoiur,
str partner, str purpose)
{
return strfmt('#%6, %1, знак зодиака %2, %3, ищет %4 для %5',
sex, horoscope, behavoiur, partner, purpose, cnt);
}
;
cnt++;
info(AdString('мужчина', 'близнец', 'без в/п', 'женщину',
'создания семьи'));
cnt ++;
info(AdString('женщина', 'скорпион', 'курю/выпиваю',
'состоятельного мужчину с квартирой',
'самых серьезных отношений'));
}
Там, где стоит пара символов "%1" будет подставлено значение переменной "sex", вместо "%2" будет значение переменной "horoscope". И так далее.
Новость первая — тип "Counter" — это расширенный тип данных на базе целого числа. Откройте AOT, ветка "Data Dictionary", "Extended Data Types" и найдите этот тип. Его предназначение быть счетчиком. Использовать его или просто создавать целочисленные переменные является делом вкуса.
Новость вторая — внутри метода можно создать так называемую встроенную функцию. У нас это функция AdString(). Подобные конструкции видны только внутри текущего метода (внутри джоба BLG47_Ads). Заметьте также: то, что для джоба является локальной переменной, то для встроенной функции будет глобальной переменной. На примере видно, как AdString() имеет прямой доступ к переменной cnt, объявленной в джобе.
И третье — порядок символов подстановки для глобального метода strfmt() произвольный. В данном примере видно, что подстановка "%6" идет первой, хоть и берет значение последней переменной (переменной cnt).
Итог:
знакомится с девушками лучше в реальности. Однако уж лучше через объявления делать попытки, чем завязывать служебный роман. Служебный роман — это очень, очень нехорошо.
Комментариев нет:
Отправить комментарий