Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
pp:scalalab1 [2022/04/30 09:22]
vbadoiu created
pp:scalalab1 [2022/05/07 17:26] (current)
mihai.calitescu fixed typo
Line 5: Line 5:
   * practice writing **tail-recursive** functions as an alternative to imperative **loops** ​   * practice writing **tail-recursive** functions as an alternative to imperative **loops** ​
   * keep your code clean and well-structured.   * keep your code clean and well-structured.
 +
 +** Make sure you have done your [[pp:​scala-environment | scala environment]] setup ready **
  
 ** Create a new Scala worksheet to write your solutions ** ** Create a new Scala worksheet to write your solutions **
Line 122: Line 124:
 </​code>​ </​code>​
  
 +===== III. Scala in practice =====
 +
 +Objectives:
 +  * See some very simple examples of real world Scala
 +
 +**3.1** Interacting with the filesystem. Scala uses Java implementations for using most of the operating system'​s functionalities. In the snippet below, we see the usage of the Java File class.
 +
 +<code Scala>
 +import java.io.File
 +val someFile = new File("​somefile.txt"​)
 +val fileSize = someFile.length
 +</​code>​
 +
 +For this exercise we will want to implement a function that receives two files and returns the file with the maximum size.
 +
 +**3.2** Starting from the snippet below which defines a main function (the entry point of a program) in Scala. we want to make a standalone program that prints the size of a file given as an argument.
 +
 +<code Scala>
 +object Main {
 +  def main(args: Array[String]):​ Unit = {
 +    println("​Hello,​ Scala developer!"​)
 +    if (args.length == 0) {
 +        println("​No parameter :(")
 +    } else {
 +        val filename = args(0)
 +    }
 + }
 +}
 +</​code>​