т.д .:Как безопасно передавать строковые значения?
def updateAsinRecords(asins:Seq[String], recordType:String)
Выше метод принимает Seq
из ASINs и тип записи. Оба имеют тип String
. Существуют также другие значения, которые передаются с типом String
в приложении. Излишне говорить, что это Scala, я бы хотел использовать систему типов в свою пользу. Как передавать строковые значения безопасным типом (например, ниже)?
def updateAsinRecords(asins:Seq[ASIN], recordType:RecordType)
^ ^
Я могу себе представить, имея что-то вроде этого:
trait ASIN { val value:String }
, но мне интересно, если есть лучший подход ...
две ноты: 1) вы можете иметь их быть случай классов, 2) убедитесь, что вы падаете 'extends AnyVal', если вы добавите дополнительные поля. – dhg
@dhg Нет, вам не разрешено иметь дополнительные поля в классе значений. Допускается только одно поле, период. – wheaties
Справа. Это то, что я сказал. :-) – dhg