1
ルーキーミスのように聞こえるかもしれませんが、私はそれをたくさんしています。怠惰な評価されたブロックまたは値を関数に渡している間に、どうか忘れてしまった場合は、 が評価を強制するため、関数の対応するパラメータを怠け者(パス/名前で呼ぶ)Scalaでは遅延引数を渡すための助けはありますか?
lazy val a = {println("a");1}
def myfunc(b:Int){println("hello")}
myfunc(a);
出力:
a
Hello
だから私の質問は、この問題の任意のコンパイラのヘルプには、(フラグなど)があるか、これは私が世話をする必要がありますものの一種でありますか?
コンパイラはあなたが '=> Int'を意味するがIntを書いたことを検出するために注意を払うことができますか? –
その関数に渡され、遅延としてマークされたパラメータ – altayseyhan
遅延型変数を値で関数に渡すことは、他の方法でも同じです。ある時点で評価が行われる必要があります。コンパイラは、起こっている場所が実際に起こった場所であるかどうかをどのようにして判断するのか、それは問題です。 – Dima