Пошаговое подключение функции высшего порядка Scala к предоставленным примерам

Мне трудно понять, как сделать переход от определения функции высокого порядка Scala к представленному примеру. Он был представлен в этом слайд-шоу на слайде 81 .

Вот определение функции высшего порядка:

trait X[A] { def map[B](f: A => B): X[B] }

Вот предоставленные примеры:

(1 to 10) map { x => x * 2 } // evaluates to Vector(2, 4, ..., 20)
(1 to 10) map { _ * 2 }      // shorthand!

А ?! Здесь просто ДОЛЖНЫ быть некоторые шаги, которые мне не хватает. Я понимаю, что в примерах могут использоваться как определение функции, так и некоторые тонкости Scala. Просто у меня пока недостаточно опыта чтения Scala и создания связанных предположений.

Мой опыт работы в Java OO. Сейчас я изучаю Scala и функциональное программирование. И это не первый такой пример, который я не понял. Это всего лишь первый случай, когда я почувствовал, что у меня хватило смелости опубликовать сообщение, зная, что я буду выглядеть невежественным.

Я действительно пытался исследовать это. Сначала я обратился к «библии» Scala «Программирование на Scala 2nd Edition» и попытался разобраться в if оттуда (страницы 165-9). Затем я выполнил поиск здесь, в StackOverflow. И я нашел несколько ссылок, которые говорят об этом районе. Но на самом деле ничто не показывает мне, ШАГ ЗА ШАГОМ, связь между определением функции высокого порядка Scala и предоставленными примерами таким образом, чтобы она соответствовала конкретному экземпляру на этом слайде.

Вот что я нашел на StackOverflow:

  1. Scala: Совет для семинара
  2. Подробнее об общих функциях Scala
  3. Scala: Как определить «общие» параметры функции?

Я только сейчас понимаю, что я пропустил Google и сразу перешел на StackOverflow. Хм. Если вы загуглите и найдете нужную ссылку, я буду рад ее увидеть. У меня не хватило времени, чтобы просмотреть все ссылки Google, в которых используются такие термины, как обезьяна-монада, бластоморфизмы и т. Д., Что еще больше сбило меня с толку и меньше шансов попытаться понять это.

7
задан Community 23 May 2017 в 11:59
поделиться