我有一个我要打印的列表:
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
。有没有更好的方法呢?
答案 0 :(得分:2)
还有一个专门的功能:
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。
答案 1 :(得分:0)
在撰写问题时,我偶然发现了to_string()
方法。我可以用:
var bar: string = foo.to_string();
这相当于Perl:
$bar = join "\n", @foo;
如果我想使用空格我可以使用:
var bar: string = str_replace(foo.to_string(), "\n", " ");