def
一般的にとval
との違いは知っていますlazy val
が、パーサー コンビネーターに関しては、それらの影響についてはわかりません。私が見たすべての例には、次のようなコードが含まれています。
def statement: Parser[Statement] =
ifStatement |
whileStatement |
expressionStatement | ...
私が行ったいくつかの実験から、それも同様に機能しているように見えval
ますlazy val
が、再帰や配置されたパーサーなど、それらが機能しなくなる場合があるかどうかはわかりません。
教えてください!