質問

いては、下記コードをspecman:

var x := some.very.long.path.to.a.variable.in.another.struct;

while (x == some_value) {
    //do something that uses x;
    //wait for something

    //get a new value for x
    x = some.very.long.path.to.a.variable.in.another.struct;
};

現在、この課題 x 二;一度初期化の際に、一旦中にループを実行します。

えていきたいと思っております利用は、変数名、そのう:

var x := reference to some.very.long.path.to.a.variable.in.another.struct;

while (x == some_value) {
    //do something that uses x;
    //wait for something
    //no need to update x now since it's a reference
};

で実現できるのでspecman?

役に立ちましたか?

解決

specman/e一般的に使用を参照のための構造体およびリストが可変タイプのいずれかでご二つ目の例できます。のための integer または boolean わからない、使い方を参照のための変数となります。とにかく、アイデアがいます。

  1. 追加のポインタのその他の構造体と結合するのでコンフィグファイル:

    struct a { other_variable : uint; };
    struct b {
        other_struct : a;
        some_func() is {
            var x : uint = other_struct.other_variable;
            while (x == some_value) {
                x = other_struct.other_variable;
            };
        };
    };
    extend cfg {
        struct_a : a;
        struct_b : b;
        keep struct_b.other_struct == struct_a;
    };
    

    更新: であり、この手法を このチームSpecmanポスト.

  2. ラップがループ内の機能がで渡すことができます(パラメータを参照 help pass reference):

        some_func(x : *uint) is {
            while (x == some_value) {
                // stuff ...
            };
        };
    

武器agiは、dexで下がらないboxerぐ!

ダニエル

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top