如何加入specman中的字符串列表?

时间:2009-06-22 08:06:37

标签: string join specman

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

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。有没有更好的方法呢?

2 个答案:

答案 0 :(得分:2)

还有一个专门的功能:

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

我确信help str_join会为您提供详细信息。您还可以使用其他有用的功能,例如str_matchstr_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

答案 1 :(得分:0)

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

var bar: string = foo.to_string();

这相当于Perl:

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

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

var bar: string = str_replace(foo.to_string(), "\n", " ");