В настоящее время я пишу программу с использованием matlab в scala (через API matlabcontrol). Я хочу получить независимое от языка программирования решение, поэтому я могу использовать некоторые алгоритмы в Scala и некоторые в Matlab. Программа работает уже (насколько я ее протестировал), но меня также интересует абстракция, чтобы я мог обмениваться модулями с помощью scilab или других языков.
Чтобы понять проблему подробно, я покажу вам класс ImageReader:
trait ImageReader {
def readImage(path:String):Any
}
object Matlab_ImageReader extends ImageReader {
def readImage(path:String):Any = {
proxy.eval("image = imread('"+ path + "');"
return "image"
}
}
Идея заключается в том, что я хочу рассматривать возвращаемое значение как ссылку на объект языка, который я использую. Я буду использовать Scala только как контролер, работая со ссылками и тем самым реализуя поэтапное объектно-ориентированное решение для сложного куска matlabcode.
Теперь я также хочу обменять части кода и дать другим разработчикам возможную точку входа для реализации собственного решения, например, в Scala. Проблемы:
Прошу прощения за неопределенный вопрос, но я действительно не знаю, как объяснить мою точную проблему :)
Вероятно, вам стоит взглянуть на легкую модульную постановку и виртуализацию Scala.