#scala
Вопрос:
Ниже у меня есть scala , которая получает ключ из карты объектов m
, это работает, когда у меня есть значение, просто отлично, но что происходит, когда у меня есть Option[Long]
? Как я могу получить элемент карты?
object Main extends App {
val mainKey: Long = 12345
val m: Map[Long, String] = Map(mainKey -> "bar")
println(m.get(mainKey)) // "bar"
val key: Option[Long] = None
println(m.get(key)) // syntax error needs Long
println(m.getOrElse(key, None)) // syntax error needs Long
}
Комментарии:
1.
key.flatMap(m.get)
— В любом случае, это ваш третий вопрос подряд, может быть, было бы лучше пройти курс / учебник по языку? или взгляните на Scaladoc — Или я бы рекомендовал присоединиться к серверу Discord , где проще задать несколько вопросов и продолжить беседу.2. Это сработало! 🎉 Большое вам спасибо. У меня есть несколько очень конкретных вопросов, в основном касающихся случаев использования опции, и я не вижу, чтобы это часто использовалось в учебниках для начинающих, и когда я ищу переполнение стека, я не получаю многого. Я бы предпочел задать этот вопрос здесь и позже вернуться к этим вопросам в качестве справки и, возможно, помочь другим в этом процессе. Не стесняйтесь добавлять это в качестве ответа, и я приму его и / или проигнорирую мои вопросы, продвигаясь вперед.
3. Вы не получите многого, потому что, если вы установите IDE, такую как IntelliJ, на все эти вопросы ответят, поставив точку после значения и нажав Ctrl Пробел. Или поиск доступных символов с двойным сдвигом. Вряд ли кто-то целенаправленно запоминает какой-то конкретный API наизусть. Но вам нужно сначала изучить основы (здесь: .карта, .Плоская карта, для понимания
Map.get
) из учебника по обычному языку.