Scala'da yeni ve bir deyim varsa, bir deyim için işaretçiler arıyor.Çalışma zamanında bir Scala ifadesi nasıl derlenir/değerlendirilir?
I rasgele kullanıcı tarafından sağlanan Scala işlevleri istiyorum(fonksiyonları referans bırakılır/benim kodunda tanımlanan olan sınıflar) bazı veriler uygulanır.
Örneğin: myprog.scala
numaralı telefon numaramda tanımlanan foo(s: String): String
ve bar(s: String): String
işlevlerim var. Kullanıcı, bu gibi benim programı çalıştırır:
$ scala myprog data.txt --func='(s: Str) => foo(bar(s)).reverse'
Bu veri dosyası aracılığıyla satır satır çalıştırmak ve bu çizgiye kullanıcı tarafından belirlenen işlevini uygulama sonucunu yayarlar olacaktır.
Ek noktalar için, kullanıcı tanımlı işlevde yan etki olmadığından emin olabilir miyim? Değilse, işlevi sadece sınırlı bir fonksiyon alt kümesi kullanmak için kısıtlayabilir miyim (güvende olmasını sağlayabilirim)?
Freenode'daki lambdabot'un nasıl yazıldığına bakarsak, sorunlarınız benzer geliyor. – Reactormonk