From 7f68e1f256f671df6b415774561186a0883f22a0 Mon Sep 17 00:00:00 2001 From: valterbergstrand <112329564+valterbergstrand@users.noreply.github.com> Date: Sun, 26 Nov 2023 12:59:50 +0100 Subject: [PATCH] Update w09-setmap-lab.tex fix for #771 --- compendium/modules/w09-setmap-lab.tex | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/compendium/modules/w09-setmap-lab.tex b/compendium/modules/w09-setmap-lab.tex index 03ff3363..b851317f 100644 --- a/compendium/modules/w09-setmap-lab.tex +++ b/compendium/modules/w09-setmap-lab.tex @@ -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} @@ -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}