如何加入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。
答
在写这个问题时,我偶然发现了to_string()
方法。我可以使用:
var bar: string = foo.to_string();
这是Perl的等效:
$bar = join "\n", @foo;
如果我想使用的空间,我可以使用:
var bar: string = str_replace(foo.to_string(), "\n", " ");
我看了看,但我一定错过了它。谢谢! – 2009-06-22 13:57:36