1

我有一个要打印的列表:

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. 有没有更好的方法来做到这一点?

4

2 回答 2

2

还有一个专门的功能:

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

我肯定help str_join会给你详细的。还有其他有用的功能,如str_matchstr_split您可能会喜欢。

作为附加提示,也许您应该打印自己的e Language Quick Reference,请参阅http://www.cadence.com/Community/blogs/fv/archive/2009/06/19/send-us-suggestions-for-updating -the-e-specman-quick-reference-card.aspx

于 2009-06-22T13:26:51.810 回答
0

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

var bar: string = foo.to_string();

这相当于 Perl 的:

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

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

var bar: string = str_replace(foo.to_string(), "\n", " ");
于 2009-06-22T08:12:13.503 回答