Я новичок в Scala и все еще сталкиваюсь с некоторыми новичками (?).
Итак, у меня есть класс с именем Transaction
, основной конструктор которого имеет 5 аргументов. Дело в том, что я пытаюсь написать конструктор с 1 аргументом с аргументом String, чтобы он извлекал из него другие аргументы и вызывал с ними первичный конструктор (он в основном анализирует строку).
Я прочитал, что первый вызов внутри вспомогательного конструктора должен быть первичным конструктором, тогда как я должен вызывать его без полезных данных? Какой другой подход существует для решения этой проблемы?
Здесь я вставляю код класса и конструктор с ошибками:
class Transaction(srcIp: String, dstIp: String, var srcPort: Int, var dstPort: Int, _protocol: String) {
def this(t_str: String) = {
val t_arr = t_str.split(',')
this(t_arr(1), t_arr(2), t_arr(3).toInt, t_arr(4).toInt, t_arr(5))
}
//primary constructor, private variables, etc
}