グレムリンでは、次のように関数を定義できます。
def name_is_potato (v) { return v.has('name','potato').count() == 1}
電話すると
name_is_potato(g.V[0])
私は得る
==>true
しかし、私が入るとき
g.V[0].filter{name_is_potato(it)}
私は得る
==>java.lang.StackOverflowError
これの何が問題になっていますか?どうすれば実行できますか?私はRexsterの犬小屋のWebベースのインターフェースを使用しています。
この問題は、指定された頂点からラインのどこかにpotatoという名前の頂点がある場合にtrueを返す関数を作成したいときに発生しました。私はこの問題の他の解決策に興味がありますが、この段階での私の目標(初心者のGremlinerとして)は、Gremlinの評価/学習であり、最良の解決策を見つけるのではなく、さまざまな解決策を試して、それがどのように機能するかを感じ取ってください。 。