Все это легко гуглится, так что если что-то не получается, можно поискать в интернете решения.
Ресурсы:
Консольные команды linux и macos (пока вам будет достаточно первых 5 пунктов)
Упражнения для знакомства с git
Найти фунцию в Haskell по ее типу
Преобразование функций в бесточечный вид
Я не знаю ничего про windows
, слышал, что надо установить Haskell Platform.
Git вроде бы надо скачивать exe-шником здесь.
Открываем консоль/треминал.
Если у вас linux
, прописываем команду
$ sudo apt install git
NB: значок доллара - это не часть команды, он помогает понимать, что перед вами цитата из консоли.
Если же у вас macos
, сначала необходимо установить утилиту homebrew
(если у вас ее еще нет) следующей командой в терминале:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
А затем прописать команду
$ brew install git
И напоследок
$ export PATH=/usr/local/bin:$PATH
Первое, что вам следует сделать после установки git - указать ваше имя и адрес электронной почты. Это важно, потому что каждый коммит в git содержит эту информацию, и она включена в коммиты, передаваемые вами, и не может быть далее изменена:
$ git config --global user.name "Sergey Obritaev"
$ git config --global user.email serjobrit@gmail.com
NB: Если что, вместо этих имени и почты, надо подставить ваши.
Если вы не понимаете, как пользоваться какой-то командой, вы можете вызвать страницу руководства.
К примеру, вы забыли, как использовать config
. Напишите в консоль
$ git config -h
В самом начале вам покажут общий шаблон работы команды, а потом варианты ее использования. Если на английском ничего не понятно, вам поможет google.
linux
:
curl -sSL https://get.haskellstack.org/ | sh
macos
:
$ brew install haskell-stack
Установка может длиться очень долго, не волнуйтесь по этому поводу.
Напишите в консоль следующие команды, чтобы скачать необходимые библиотеки:
$ stack update
$ stack install HUnit
$ stack install hspec
$ stack install tasty
$ stack install tasty-hspec
$ stack install tasty-hunit
Регистрируемся на github
.
На странице этого репозитория справа сверху нажимаем кнопку Fork
, чтобы создать свою копию этого репозитория.
Надо немного подождать, пока репозиторий будет создаваться. После чего надо скопировать его ссылку.
Заходим в консоль. При помощи команды cd
перемещаемся в папку, в которой вы хотите, чтобы находился ваш репозиторий.
Далее пишем в консоль команду git clone your_link
, где your_link
- это ссылка на ваш репозиторий, которую вы уже скопировали.
К примеру:
$ git clone https://github.com/Peltorator/tinkoff_haskell_2020
Скорее всего вам надо просто поменять слово Peltorator
на ваш ник на гитхабе.
Ура, у вас создался репозиторий на компьютере. Можете в него заходить. Это как обыная папка с файлами.
Теперь необходимо проинициализировать stack
в вашем репозитории.
Напишите в консоль команду
stack init
В папке src
находится файл Tasks.hs
.
В нем есть несколько функций. Вам необходимо заменить undefined
на корректное тело фунции.
Тесты находятся в папке test/Test/
. Вы можете дописывать свои тесты по аналогии с уже существующими.
Запустить консоль, перейти в папку с проектом.
Запустить интерпретатор ghci
:
$ ghci
NB: чтобы выйти из ghci
, пропишите команду :q
.
Если у вас завис какой-то процесс в интерпретаторе, и вы хотите его завершить, то надо нажать какую-то комбинацию из
<ctrl> + d
, <ctrl> + c
, <ctrl> + z
.
Запустить интерпретатор ghci
, загрузив в него код из вашего файла:
$ ghci src/Task.hs
Собрать проект (скорее всего вам не понадобится):
$ stack build
Запустить проект на тестах:
$ stack test
После того, как вы выполнили все задания, их необходимо отправить на проверку.
Вам помогут следующие команды:
$ git status
Даст вам информацию о том, какие файлы добавлены в будущий коммит, а какие еще нет.
$ git add a.cpp
Добавит файл a.cpp
в будущий коммит.
$ git commit -m"your message goes here"
Сделать коммит.
$ git log
Покажет вам историю коммитов
(если история коммитов большая, он после этого будет ждать от вас дальнейших действий. Просто нажмите клавишу q
).
$ git push origin master
Необходимо выполнить после коммитов, когда вы хотите выложить ваши результаты на гитхаб.
$ git pull
Обновить свою локальную версию репозиторий тем, что хранится на гитхабе.
$ git stash
Можете использовать это как "выкинь все мои последние изменения, потому что они мне не нужны, но мешают переключиться на другой коммит".
Когда все ваши изменения уже выгружены, зайдите в ваш репозиторий на гитхабе. Стоит проверить, что над списком файлов указан ваш последний коммит (можно проверить по сообщению, времени выгрузки и хэшу).
После чего необходимо создать pull request
.
Над списком файлов есть несколько кнопочек. Одна из которых называется new pull request
.
Нажимаем на нее. Проверяем, что стрелочка ведет из вашего репозитория в мой и ветки выбраны master
.
Затем необходимо заполнить название пул-реквеста. Оно должно содержать ваше имя. Пример:
Egor Gorbachev
Снизу можно по желанию оставить комментарий, если вам нужно передать какую-то информацию мне.
И в конце жмем кнопочку Create pull request
.
Вас перенесет в созданный pull request
. Там мы будем вести переписку по поводу вашего задания.
Необходимо, чтобы функции работали правильно на любом входе и при этом были написаны в красивом функциональном стиле с приятным кодстайлом.