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_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

于 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 に答える