diff options
author | Per Lilja <perlilja@gmail.com> | 2015-10-21 13:28:36 +0200 |
---|---|---|
committer | Per Lilja <perlilja@gmail.com> | 2015-10-21 13:28:36 +0200 |
commit | 3f8b067a0cace44bb43bdd08561b0efc747fb26c (patch) | |
tree | 1e17c3f1968f7b2f97ea9f84ca0098224ff60786 /scala.html.markdown | |
parent | d1a822f96c88855b2cbb649a4ea7b452e4104164 (diff) | |
parent | ef6973b13f50063462d28a96ac57e93aed40844c (diff) |
Merge pull request #1 from adambard/master
Update fork
Diffstat (limited to 'scala.html.markdown')
-rw-r--r-- | scala.html.markdown | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/scala.html.markdown b/scala.html.markdown index c482752d..7f545196 100644 --- a/scala.html.markdown +++ b/scala.html.markdown @@ -6,7 +6,6 @@ contributors: - ["Dominic Bou-Samra", "http://dbousamra.github.com"] - ["Geoff Liu", "http://geoffliu.me"] - ["Ha-Duong Nguyen", "http://reference-error.org"] -filename: learn.scala --- Scala - the scalable language @@ -43,9 +42,13 @@ Scala - the scalable language // Printing, and forcing a new line on the next print println("Hello world!") println(10) +// Hello world! +// 10 // Printing, without forcing a new line on next print print("Hello world") +print(10) +// Hello world!10 // Declaring values is done using either var or val. // val declarations are immutable, whereas vars are mutable. Immutability is @@ -240,10 +243,11 @@ i // Show the value of i. Note that while is a loop in the classical sense - // comprehensions above is easier to understand and parallelize // A do while loop +i = 0 do { - println("x is still less than 10") - x += 1 -} while (x < 10) + println("i is still less than 10") + i += 1 +} while (i < 10) // Tail recursion is an idiomatic way of doing recurring things in Scala. // Recursive functions need an explicit return type, the compiler can't infer it. @@ -562,8 +566,8 @@ sendGreetings("Jane") // => "Hello Jane, 100 blessings to you and yours!" // Implicit function parameters enable us to simulate type classes in other // functional languages. It is so often used that it gets its own shorthand. The // following two lines mean the same thing: -def foo[T](implicit c: C[T]) = ... -def foo[T : C] = ... +// def foo[T](implicit c: C[T]) = ... +// def foo[T : C] = ... // Another situation in which the compiler looks for an implicit is if you have |