我有一个我要打印的列表:

foo: list of string;

我想创建一个字符串 bar ,它是 foo 元素的串联。在Perl我会这样做:

$bar = join " ", @foo;

我能想到在specman中做到这一点的唯一方法是:

var bar: string = "";
for each in foo {
    bar = appendf("%s %s", bar, it);
};

这似乎会导致性能非常差,因为它会将 bar 复制到 foo 中的每个元素。有没有更好的方法呢?

有帮助吗?

解决方案

还有一个专门的功能:

str_join(list: list of string, separator: string) : string

我确定 help str_join 会为您提供详细信息。还有其他有用的功能,如 str_match str_split ,您可能会喜欢。

作为补充提示,也许您应该自己打印 e语言快速参考,请参阅 http://www.cadence.com/Community/blogs /fv/archive/2009/06/19/send-us-suggestions-for-updating-the-e-specman-quick-reference-card.aspx

其他提示

在编写问题时,我偶然发现了 to_string()方法。我可以用:

var bar: string = foo.to_string();

这相当于Perl:

$bar = join "\n", @foo;

如果我想使用空格我可以使用:

var bar: string = str_replace(foo.to_string(), "\n", " ");
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top