Skip to content

Commit

Permalink
Merge pull request #781 from valterbergstrand/patch-1
Browse files Browse the repository at this point in the history
Update w09-setmap-lab.tex
  • Loading branch information
bjornregnell authored Jun 5, 2024
2 parents f3be639 + 7f68e1f commit c089254
Showing 1 changed file with 4 additions and 5 deletions.
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

0 comments on commit c089254

Please sign in to comment.