Использование String.format с RPGLE - PullRequest
1 голос
/ 29 июня 2011

Я хотел бы связать RPGLE с String.format, который принимает аргументы переменной длины или массив, я также хочу передавать числа, а также строки, поэтому я буду использовать формат как "hello %s, you are %d years old". Может кто-нибудь дать мне совет о том, как прототипировать это в RPGLE?


UPDATE

Кажется, что некоторые люди запутались в вопросе. Чтобы прояснить ситуацию, я хочу создать прототип следующего в RPGLE. Обратите внимание, что вторым аргументом метода является параметр varargs, поэтому можно указать любое количество аргументов! RPGLE определенно не поддерживает это, но поддерживает *nopass, так что это может помочь в достижении нужного мне результата.

  String format = "|%1$-10s|%2$-10s|%3$-20s|\n";
  System.out.format(format, "FirstName", "Init.", "LastName");

  or

  String.format(format, "FirstName", "Init.", "LastName");

Меня не интересует, как я могу форматировать строки в RPGLE, я хочу создать прототип Java-метода.

Ответы [ 2 ]

4 голосов
/ 29 июня 2011

Как насчет использования сообщений для форматирования ... они довольно мощные, а текст выводится наружу (и с учетом CCSID).

Вы можете использовать API QMHRTVM для получения отформатированного сообщения.

Когда вы находитесь в коде RPG, всегда быстрее вызывать нативную функциональность, чем Java.

2 голосов
/ 29 июня 2011

Есть ли конкретная причина, по которой вы хотите использовать Java?Затраты на запуск JVM могут быть губительными для многих приложений.Сама RPG может сделать это легко, используя конкатенацию.

/free
 resultString = 'hello ' + %trim(name) + ', you are ' + 
                %trim(%char(years)) + ' years old';
/end-free
...