Эта статья предназначена для абсолютных новичков в scala, мы постараемся изучить базовую концепцию, а затем попробуем решить вопрос интервью на основе этой концепции.
В блоке кода последним оператором является оператор return
Карта должна иметь отдельный ключ, т.е. ключи не могут быть дубликатами.
2) Если мы попытаемся добавить повторяющиеся ключи, предыдущий ключ будет отброшен (давайте разберемся на примере)

Давайте попробуем разобраться в приведенных выше концепциях с помощью примеров.
Scala› { Val x=10 ; x+20, 7} //( Каков будет вывод этого кода?)
res0: Int = 7 (поэтому на выходе 7, но почему)
потому что 7 является последним оператором в приведенном выше блоке кода
Возьмем другой пример
scala› { Val x =10 ; x+20} // (Что будет на выходе этого кода)
res 1: Int = 30 // в выводе Scala это результат, поэтому он отображается как res 0, res1 и т. д.
в приведенном выше коде, поскольку x+20 был последним оператором, он стал оператором return .
scala› Val var1 = { Val x =10 ; х+20; 10.0}
scala› println(var1) // (Каков будет вывод этого кода?)
res2: var1: Double = 10.0 (выход равен 10.0, Double здесь — тип данных для десятичного числа 10.0)
если вы знаете другой традиционный язык программирования, C или C++ или Java, то вы определенно понимаете этот тип данных, я надеюсь, если вы не знаете, то вы можете прокомментировать и спросить.
Вопрос ниже был задан в ходе собеседования по программированию
Что печатает следующий код
val cool = Map( «a’’-› «aaa», «b» -> «bbb», «a’’ -> «ccc»)
println(круто("а"))
выберите верный вариант
- ааа
- ссс
- ааа
ссс
4. Это вызовет исключение
так что правильный ответ - вариант номер 2
Вариант 2 неверен из-за концепции, что в блоке кода последним оператором является оператор return, это правильный вариант (т.е. вариант 2) по следующей причине (не беспокойтесь, если вы не поняли сейчас, я буду объяснить просто и доступно
Если мы попытаемся добавить повторяющиеся ключи, предыдущий ключ будет отброшен (давайте разберемся на примере)
это не так (последний оператор - это оператор возврата) (это неправильно)
это так (В блоке кода последним оператором является оператор возврата)
теперь блок кода всегда находится внутри фигурных скобок, т.е. {}
но в данной задаче фигурные скобки не использовались, поэтому эта концепция (В блоке кода последним оператором является оператор возврата) здесь не применима
Это было объяснено ниже, потому что мы можем понять это, только если мы понимаем коллекции Scala (например, Map, есть и другие коллекции, но в этой статье я объясню только Map)
Карта представляет собой коллекцию scala, т. е. типы данных, которые могут содержать несколько значений.
Коллекции Скала
Множество
Список
Кортеж
Диапазон
набор
Карта -> Карта представляет собой набор пар ключ-значение
Карта — это Итерируемый объект, состоящий из пар ключей и значений (также называемых отображениями или ассоциациями). Объект Scala Predef предлагает неявное преобразование, которое позволяет вам написать key -> value в качестве альтернативного синтаксиса для пары (key, value). Например, Map("x" -> 24, "y" -> 25, "z" -> 26) означает то же самое, что и Map(("x", 24), ("y", 25), ("z", 26)).
давайте разбираться на примере
Scala› Val xy = Map(1-›”aaa”, 2-›”bbb”) //(здесь мы взяли key как целочисленный тип и Value как тип данных String)
Scala›xy.get(1)
res3: option[String] = Some(aaa) // это вывод
Scala›xy.get(3) // Что будет на выходе этого кода
res4: Option[String]= None // Нет, потому что этого ключа нет в (Val xy)
Scala› Val cool= Map(“a”-›”aaa”, “b”-›”bbb”) // (здесь мы взяли ключ как строку и значение как строку)
Scala› Val tom=Map(“x” -> 24, «y» -> 25, «z» -> 26) //(здесь мы взяли key как String и Value как Integer)
Примечание. 1) Карта должна иметь отдельный ключ, т. е. ключи не могут дублироваться.
2) Если мы попытаемся добавить повторяющиеся ключи, предыдущий ключ будет отброшен (давайте разберемся на примере)
Итак, поскольку вы поняли концепцию карты, теперь вы можете очень легко сказать, что для вопроса ниже, который мы пытались решить ранее (я только снова вставил его ниже), поскольку дублирующийся ключ был использован в вопросе ниже, поэтому применяя концепцию из примечания :2
val cool = Map( «a’’-› «aaa» , «b» -> «bbb» , «a’’ -> «ccc») //
(Поскольку «a» является повторяющимся ключом, предыдущее значение ключа будет проигнорировано, а последнее значение будет указано в качестве вывода)
println(круто("а"))
выберите верный вариант
- ааа
- ссс
- ааа
ссс
4. Это вызовет исключение
Res: ccc // ( Вывод будет ccc, т.е. опция 2, которая является последним значением ключа «a»)
Я надеюсь, что мне удалось помочь вам хорошо понять концепцию, пожалуйста, следуйте за мной, чтобы узнать больше о Scala и больших данных.