Specman a la méthode apply()
pour effectuer la même action sur tous les éléments d'une liste:utilisant « appliquer() » avec des méthodes qui renvoient vide dans specman
var a: list of int;
a = somefunction.that.returns.list.of.int();
var b:= a.apply(it * 2);
Lorsque apply()
fait la même chose que:
for each in a {
b.add(it.*2);
};
Maintenant, si je veux appeler une méthode sur les éléments de a
, je peux utiliser apply()
tant que la méthode renvoie une valeur. Cependant, si j'ai:
struct bar {
x: int;
foo() is {
message(LOW, "x is ", x);
};
};
Et j'essaie de faire:
var a: list of bar;
a = somefunction.that.returns.list.of.bar();
a.apply(it.foo());
Il ne compile pas, parce que foo()
retours void
. Au lieu de cela, je dois utiliser une boucle explicite:
for each in a {
it.foo();
};
Y at-il une méthode similaire à specman apply()
qui ne nécessite pas une valeur de retour?