1

我想将 RPGLE 与带有可变长度参数或数组的 String.format 接口,我还想传递数字和字符串,所以我将使用类似"hello %s, you are %d years old". 有人可以给我一些关于如何在 RPGLE 中制作原型的建议吗?


更新

似乎有些人对这个问题感到困惑。为了清楚起见,我想在 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 方法的原型。

4

2 回答 2

4

使用消息进行格式化怎么样......它们非常强大并且文本是外部化的(并且可以识别 CCSID)。

您可以使用QMHRTVM API 来检索格式化的消息。

当您使用 RPG 代码时,调用本机功能总是比 Java 更快。

于 2011-06-29T13:44:48.007 回答
2

您想使用 Java 有什么特别的原因吗?启动 JVM 的开销对许多应用程序来说都是致命的。RPG 本身可以使用连接轻松地做到这一点。

/free
 resultString = 'hello ' + %trim(name) + ', you are ' + 
                %trim(%char(years)) + ' years old';
/end-free
于 2011-06-29T02:03:09.033 回答