Skip to content

Commit a516e12

Browse files
author
Dean Wampler
committed
Example refinements
1 parent d0bf3a0 commit a516e12

File tree

3 files changed

+25
-10
lines changed

3 files changed

+25
-10
lines changed

src/script/scala/progscala3/BracesSyntax.scala

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
// src/script/scala/progscala3/BracesSyntax.scala
2+
3+
// For completeness, Scala 2 imports, not allowed in Scala 3:
4+
import scala.concurrent._
5+
import java.util.{Queue => JQueue}
6+
import java.util.{HashMap => JHashMap, HashSet => _}
7+
28
// Braces syntax - valid in both Scala 2 and 3
39

10+
// Package definition
11+
// package mypkg { // Can't declare a package in a script!
12+
// // stuff under mypkg...
13+
// }
14+
415
// For comprehension
516
val evens = for {
617
i <- 0 until 10
@@ -58,11 +69,6 @@ def multiline(s: String): String = {
5869
result
5970
}
6071

61-
// Package definition
62-
package mypkg {
63-
// ...
64-
}
65-
6672
// Trait, class, and object definition
6773
trait Monoid[A] {
6874
def add(a1: A, a2: A): A

src/script/scala/progscala3/IndentationSyntax.scala

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
// src/script/scala/progscala3/IndentationSyntax.scala
2+
3+
// For completeness, Scala 3 imports:
4+
import scala.concurrent.{given, *}
5+
import java.util.Queue as JQueue
6+
import java.util.{HashMap as JHashMap, HashSet as _}
7+
28
// Significant indentation syntax
39

10+
// Package definition
11+
// package mypkg: // Can't declare a package in a script!
12+
// stuff under mypkg...
13+
414
// For comprehension
515
val evens = for
616
i <- 0 until 10
@@ -53,10 +63,6 @@ def multiline(s: String): String =
5363
println(s"output: $result")
5464
result
5565

56-
// Package definition
57-
package mypkg:
58-
// ...
59-
6066
// Trait, class, and object definition
6167
trait Monoid[A]:
6268
def add(a1: A, a2: A): A
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
// src/script/scala/progscala3/meta/inline/Transparent.scala
22

33
open class C1
4-
class C2 extends C1
4+
class C2 extends C1:
5+
def hello = "hello from C2"
56

67
transparent inline def make(b: Boolean): C1 = if b then C1() else C2()
78

89
val c1: C1 = make(true) // <1>
10+
// c1.hello // C1.hello doesn't exist!
911
val c2: C2 = make(false) // <2>
12+
c2.hello // Allowed!

0 commit comments

Comments
 (0)