Specman にはapply()
、リストのすべての要素に対して同じアクションを実行するメソッドがあります。
var a: list of int;
a = somefunction.that.returns.list.of.int();
var b:= a.apply(it * 2);
どこapply()
と同じですか:
for each in a {
b.add(it.*2);
};
ここで、 の要素に対してメソッドを呼び出したい場合、メソッドが値を返す限り、a
を使用できます。apply()
ただし、次の場合:
struct bar {
x: int;
foo() is {
message(LOW, "x is ", x);
};
};
そして、私はやろうとしています:
var a: list of bar;
a = somefunction.that.returns.list.of.bar();
a.apply(it.foo());
foo()
を返すため、コンパイルされませんvoid
。代わりに、明示的なループを使用する必要があります。
for each in a {
it.foo();
};
apply()
戻り値を必要としないのと同様のspecmanのメソッドはありますか?