Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update w09-setmap-lab.tex #781

Merged
merged 1 commit into from
Jun 5, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions compendium/modules/w09-setmap-lab.tex
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ \subsection{Bakgrund}

\subsection{Obligatoriska uppgifter}

Du ska bygga ditt program med en editor, t.ex. VS \texttt{code}, och kompilera din kod i terminalen med \code{scalac} eller med hjälp av byggverktyget \code{sbt}. Medan du steg för steg utvecklar ditt program, ska du parallellt göra experiment i REPL för att undersöka hur du kan använda samlingsmetoder för att lösa uppgifterna.
Du ska bygga ditt program med en editor, t.ex. VS \texttt{code}, och kompilera din kod i terminalen med \code{scalac} eller med hjälp av \code{scala-cli}. Medan du steg för steg utvecklar ditt program, ska du parallellt göra experiment i REPL för att undersöka hur du kan använda samlingsmetoder för att lösa uppgifterna.

Kod att utgå ifrån finns på github här: \url{https://github.com/lunduniversity/introprog/tree/master/workspace/w09_words}

Expand All @@ -48,14 +48,13 @@ \subsection{Obligatoriska uppgifter}
\item \href{}{\texttt{}} \href{https://github.com/lunduniversity/introprog/blob/master/workspace/w09_words/Main.scala}{\texttt{Main.scala}} innehåller ett ofärdigt huvudprogram som du kan använda i laborationens senare del.
\end{itemize}

För att underlätta ditt arbetsflöde under det att du stegvis bygger upp din kod metod för metod, kan du med fördel använda byggverktyget \texttt{sbt} (se appendix \ref{appendix:build}) så här:
För att underlätta ditt arbetsflöde under det att du stegvis bygger upp din kod metod för metod, kan du med fördel använda verktyget \texttt{scala-cli} (se appendix \ref{appendix:build}) så här:

\begin{itemize}
\item
Med \code{sbt}-kommandot \code{console} startar du REPL innifrån \code{sbt} med dina klasser automatiskt tillgängliga på classpath och du kan anropa de metoder som du gjort färdigt hittills medan du gör experiment inför nästa steg. När du ändrat något i din editor och vill experimentera med nya versionen så trycker du Ctrl+D och startar om REPL med \code{console} (pil-upp) och din kod kompileras om automatiskt.
Med \code{scala-cli}-kommandot \code{repl} startar du REPL med dina klasser i aktuella katalogen automatiskt tillgängliga på classpath och du kan anropa de metoder som du gjort färdigt hittills medan du gör experiment inför nästa steg. Du också kan specificera annan katolog genom att skicka med sökvägen som argument till kommandot (exempelvis \code{scala-cli repl minKatalog}). När du ändrat något i din editor och vill experimentera med nya versionen så stänger du ned REPL (exempelvis Ctrl+C) och startar om genom att återupprepa kommandot \code{scala-cli repl}.
\item
Med \code{sbt}-kommandot \code{~run} (notera tilde-tecknet) sker kompilering och körning av \code{main}-metoden automatiskt i terminalen varje gång du gör Ctrl+S i din editor.

Med \code{scala-cli}-kommandot \code{run} sker kompilering och körning av \code{main}-metoden i aktuella katalogen. Du kan som i REPL fallet ovan också specificera en annan katolog genom att skicka med sökvägen som argument till kommandot. Om det finns flera \code{main}-metoder i aktuella katelogen, går det att specificera vilken av dessa som ska exekveras genom flaggan \code{--main-class} följt av klassnamnet (exempelvis \code{scala-cli run --main-class Hello}). Och det går att skicka med argument till \code{main}-metoden genom att flagga med \code{--} följt av argument (exempelvis \code{scala-cli run -- arg1 arg2 arg3}).
\end{itemize}


Expand Down