Я читаю SCALA книгу, и они используют два различных тип минусов операторов при выполнении шаблона на последовательность и спискиразница между Scala «+:» и «::»
+:
::
обычно большинство функциональных языков используют ::
как cons. Я не знаю, почему у scala есть 2 разных типа операторов для минусов.
Я тоже искал эту тему ... но не нашел ничего значимого.
Спасибо за ответ ниже. Я понял из этого, что +:
является общим оператором и ::
специфичен для списков. Но мой, возможно, следующий вопрос: почему scala использует двух операторов. почему бы не просто использовать один ::
, но зачем иметь 2? большинство других функциональных языков имеют только '::' и могут обрабатывать как буфер списка, так и вектор и массив. Какая необходимость иметь одну специализированную форму для списков и другую более общую форму для векторов и массивных буферов? –
«большинство других функциональных языков просто имеют :: и могут обрабатывать как буфер списка, так и вектор и буфер массива» - я скептически отношусь к этому, это правда. какой язык (ы) вы имеете в виду? –
Я немного закодировал F # (который, я считаю, очень похож на OCAML). и из того, что я помню, я всегда использовал '::'. Я не эксперт ... –