Значит мы все же говорим о разных ресурсах. Какая разница переводчикам, какой там внутренний формат? Они работают со строками. С целыми строками. В моем случае это строки диалогов персонажей, объединенных в группы.
но таки переводчики не лазают руками в ресурсы, а используют соответствующую тулзу, или нет?
Так что не нужно мне рассказывать про некий геймдейв. Вы ведь преподаватель, а не геймдевелопер.
То есть ты предлагаешь вот это «At {1,time} on {1,date}, there was {2} on planet{0,number,integer}» распарсить, а потом назад «запарсить» с помощью «стрелочек» лишь бы было «на потоках» ?
То есть ты предлагаешь вот это «At {1,time} on {1,date}, there was {2} on planet{0,number,integer}» распарсить, а потом назад «запарсить»
а что не так? в чём проблема? почему в случае с boost::format это Вас не смущает? :)
с помощью «стрелочек» лишь бы было «на потоках» ?
потоки не самоцель - а удобный инструмент
как я уже сказал Вы не понимаете концепции потоков, то что вы используете термины типа «стрелочки» свидетельствует о Вашем пренебрежительном отношении и нежелании разбираться, но в конце концов - это Ваше право так думать :)
и да, я здесь не для того чтобы Вас переубеждать - используйте что нравится :)
1) Формирование строки суммой константных частей и переменных частей.
(«a » + b + " c " + d)
2) Формирование строки из одной константной части с указанием в ней мест для переменных частей.
(«a %1% c %2%», b, d)
Новая тема для аналогичного по сути срача, но с плавным переходом в «Лисп vs C++»:
Прекрасно понимаю. Чтобы вывести строку текста нужно будет выполнить много дурной работы.
Все, что ты предложил, - это замена ворнингов на неправильные параметры принтфа исключениями или другой аналогичной радостью при неправильном количестве параметров.
Причем ошибки будут вылетать ощутимо ниже по стеку вызовов от места появления.
Это замена одной проблемый другой проблемой, при том, что конечный интерфейс стал более громоздким. По-русски это называется bloatware. ))
flush нужен что бы точно знать, что данные выведены куда надо, а не в буфере сидят.
Как говорится consider the following example:
#include <iostream>
int main(int argc,char **argv)
{
//std::cout << "text" << std::flush; //так будет текст до sleep
std::cout << "text"; //а так не будет текста пока не кончится программа
sleep(10);
}
> но таки переводчики не лазают руками в ресурсы, а используют соответствующую тулзу, или нет?
Как я и предположил, у нас разные понятия ресурсов. И разные понятия о лазании руками / использовании соответствующих тулз.
Кстати, а текстовый редактор не может являться соответствующей тулзой? Или это обязательно должна быть самописная софтина, ради поддержания хитровыгнутого внутреннего формата?
Прекрасно понимаю. Чтобы вывести строку текста нужно будет выполнить много дурной работы.
локализация в любом разе это предполагает
Все, что ты предложил, - это замена ворнингов на неправильные параметры принтфа исключениями или другой аналогичной радостью при неправильном количестве параметров.
нет, не понимаешь - иди медитируй
Причем ошибки будут вылетать ощутимо ниже по стеку вызовов от места появления.
точно? уверен?
Это замена одной проблемый другой проблемой, при том, что конечный интерфейс стал более громоздким.
это замена неотлавливаемой ошибки на отлавливаемую, если для Вас это так сложно понять то я Вам сочувствую
А где лисперы, которые скажут, что и printf и cout недостойны внимания истинных разработчиков? Это бы внесло новые идеи в эту весьма плодотворную и познавательную беседу.
Причем ошибки будут вылетать ощутимо ниже по стеку вызовов от места появления.
точно? уверен?
Ну, чувак, если ты сумеешь отловить ошибки в описанном тобою интерфейсе _ДО_ или хотя бы во время обращения к MessageFormat::format, я поставлю тебе памятник. Нерукотворный.
это замена неотлавливаемой ошибки на отлавливаемую,
Деточка, arguments в
MessageFormat::format(«At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.»,arguments, 3,result, err);
у тебя что? Он из астрала приходит в наш мир или формируется телепатически?
Выйди к доске и расскажи всему классу, что прозойдет, когда вместо 3 аргументов будет передан один. Или ноль.
Заодно расскажи, какое магическое значение несет в себе цифра 3, и за каким ражном ты её впендюрил в список параметров. )))
> > Кстати, а текстовый редактор не может являться соответствующей тулзой?
только не для копания в ресурсах
Понял, вы просто невменяемый.
> Или это обязательно должна быть самописная софтина, ради поддержания хитровыгнутого внутреннего формата?
смотрите какой пузатый толстячок пришёл к нам на огонёк
При чем тут толстячок? Я следовал вашей логике - формат ресурсов должен быть максимально сложным; так же должна быть утилита, для редактирования ресурсов в этом формате.
Вы часом не приложили руку к разработке формата офисных документов компании MS?
Having programmed for a few years and learnt a second language, the budding genius is firmly convinced that he is the Messiah of the programming world. He reinforces this world view with his conviction that anything he doesn’t understand (i.e. almost everything) is pointless, old-fashioned and a waste of time.
Ну, чувак, если ты сумеешь отловить ошибки в описанном тобою интерфейсе _ДО_ или хотя бы во время обращения к MessageFormat::format, я поставлю тебе памятник. Нерукотворный.
поставь памятник своей глупости :)
Деточка, arguments в
> MessageFormat::format(«At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.»,arguments, 3,result, err);
у тебя что? Он из астрала приходит в наш мир или формируется телепатически?
Выйди к доске и расскажи всему классу, что прозойдет, когда вместо 3 аргументов будет передан один. Или ноль.
а ты открой исходники ICU деточка и посмотри как нормальные квалифицированные люди обрабатывают ошибки :)
>должна быть утилита, для редактирования ресурсов в этом формате.
Ога, попробуй посади гуманитария переводить строковые ресурсы в редакторе Emacs или Vim. Легко угадать, куда ты будешь им послан.
это лёгкий вариант развития событий, потяжелее будет если он таки залезет и исправит так как ему кажется правильно и закоммитит, а потом фриз ресурсов не пройдёт и придётся делать много «monkey business» в сжатые сроки и в последний момент
как я уже сказал Вы не понимаете концепции потоков, то что вы используете термины типа «стрелочки» свидетельствует о Вашем пренебрежительном отношении и нежелании разбираться
jtootf
стрелочки. и почему-то никто не считает, что такое название о чём-то свидетельствует
что ещё тебе объяснить? название абстракции взято из теории категорий, одно из типичных приложений - stream processing, любимые тобою потоки
попробуй почитать хоть что-нибудь, что выходит за рамки твоего уютного мирка, ну