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

问题描述:

我有我想打印的清单:如何加入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中的每个元素。有没有更好的方法来做到这一点?

还为这个专门的功能:

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

+0

我看了看,但我一定错过了它。谢谢! – 2009-06-22 13:57:36

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

var bar: string = foo.to_string(); 

这是Perl的等效:

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

如果我想使用的空间,我可以使用:

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