File tree 1 file changed +2
-18
lines changed
1 file changed +2
-18
lines changed Original file line number Diff line number Diff line change @@ -242,31 +242,15 @@ You can use variable binding to get type-dependent behavior while simultaneously
242
242
{% tabs pattern-matching-variable-binding class=tabs-scala-version %}
243
243
{% tab 'Scala 2' for=pattern-matching-variable-binding %}
244
244
``` scala mdoc
245
- sealed trait Device
246
- case class Phone (model : String ) extends Device {
247
- def screenOff = " Turning screen off"
248
- }
249
- case class Computer (model : String ) extends Device {
250
- def screenSaverOn = " Turning screen saver on..."
251
- }
252
-
253
- def goIdle (device : Device ): String = device match {
245
+ def goIdleWithModel (device : Device ): String = device match {
254
246
case p @ Phone (model) => s " $model: ${p.screenOff}"
255
247
case c @ Computer (model) => s " $model: ${c.screenSaverOn}"
256
248
}
257
249
```
258
250
{% endtab %}
259
251
{% tab 'Scala 3' for=pattern-matching-variable-binding %}
260
252
``` scala
261
- sealed trait Device
262
- case class Phone (model : String ) extends Device :
263
- def screenOff = " Turning screen off"
264
-
265
- case class Computer (model : String ) extends Device :
266
- def screenSaverOn = " Turning screen saver on..."
267
-
268
-
269
- def goIdle (device : Device ): String = device match
253
+ def goIdleWithModel (device : Device ): String = device match
270
254
case p @ Phone (model) => s " $model: ${p.screenOff}"
271
255
case c @ Computer (model) => s " $model: ${c.screenSaverOn}"
272
256
```
You can’t perform that action at this time.
0 commit comments