Пример Scala, помогающий закрепить знания книг

Я почти закончил книгу о scala и хочу получить хороший пример кода, который поможет мне закрепить то, что я изучил.

Есть ли что-нибудь на github, что вы можете порекомендовать?

Желательно какую-нибудь библиотеку, из которой я мог бы поучиться, может быть API-оболочку? или может быть что-то еще, что вы рекомендуете?

4 ответа

Решение

Мой совет - не просто смотреть на примеры кода, но погрузиться и начать писать код. Вы можете прочитать весь код в мире и в конце концов все еще не знаете, как написать даже самую простую функцию. Попробуйте решить некоторые из проблем Project Euler, даже самые простые из них должны помочь вам обрести уверенность.

Вот ссылка на мое решение для Project Euler #42 с использованием актеров Scala и Akka. Это довольно простая проблема, но заставляя себя решать ее с помощью актеров, я многому научился работать с ними и узнавать о других особенностях Scala.

Лично я выучил много, посмотрев несколько проектов. Исходный код фреймворка Lift активно разрабатывается, и есть множество вещей, на которые можно посмотреть. когда я начал использовать Specs2, я использовал некоторые из их тестов в качестве инструментов обучения.

Впервые я узнал о Scala из проекта Twitter Kestrel, в его коде (а также в связанных с ним проектах) тоже есть на что посмотреть.

Кроме того, когда я изучал, как использовать Akka, я обнаружил, что этот базовый пример настройки веб-приложения Akka неоценим. Это также помогло узнать, как правильно настроить SBT

Вы можете взглянуть на Scala на Примере Мартина Одерского. Он показывает, как была разработана библиотека scala:

http://www.scala-lang.org/docu/files/ScalaBy Example.pdf

Вы также можете взглянуть на исходный код библиотеки Scala. На большинстве страниц официального скаладока есть ссылка на источник:

http://www.scala-lang.org/api/current/index.html

99 Scala Задачи также хорошо подходят для ознакомления с функциональным стилем.

Некоторые из решений немного устарели или слишком сложны, но приятно, когда вы можете улучшить предложенные решения.

ИМХО, вариант ничего не укрепляет знания лучше, чем просто кодирование - вы решаете проблему в Scala, вы начинаете ее реализовывать и учитесь по ходу дела. Каждый раз, когда вы врезаетесь в стену, вы просите google и приятных людей на #scala или во многих форумах / списках рассылки о помощи.

Дело не в том, что чтение кода плохо - это здорово. Но вы не сможете оценить элегантность многих решений, если вы впервые не столкнулись с проблемой и не решили ее хуже из-за ограниченного понимания экосистемы Scala.

Поскольку Scala в основном реализован на Scala, если это исходный код, который вы хотите прочитать, я бы настоятельно рекомендовал начать с него. Изучение Lift или Akka также является отличной идеей (и даже лучше начать собственный проект с использованием Lift или Akka).

Когда мы говорим о хороших небольших упражнениях - 99 задач Scala - отличный первый шаг.

Другие вопросы по тегам