Scala создать метод во время выполнения из строки и вызвать его - PullRequest
0 голосов
/ 08 мая 2018

Можно ли как-нибудь создать метод в scala из строки и затем вызвать его? Например

val code = "(a: String, b:String) => {a+b}"

Я хотел бы знать, есть ли способ создать экземпляр метода и вызвать его?

Я изучил набор инструментов и утилиту Twitter, оба из которых требуют от меня компиляции и создания экземпляра метода asInstanceOf[(String, String) => Option[Any]]

Для этого мне нужно знать аргументы и их типы, я ищу способ, которым мне не нужно заранее знать типы аргументов.

1 Ответ

0 голосов
/ 09 мая 2018

Взгляните на twitter util eval api

import com.twitter.util.Eval 
val func = new Eval().apply[(String, String)=>String]("(a: String, b:String) => a+b")



scala> func("ab", "cd")
res1: String = abcd
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...