Skip to content

Commit 28e6fe6

Browse files
authored
Merge pull request #2693 from benluo/zh-cn/overviews/scala3-book/taste-summary
Zh cn/overviews/scala3 book/taste summary
2 parents a4062ce + ac10af2 commit 28e6fe6

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

_zh-cn/overviews/scala3-book/taste-toplevel-definitions.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ permalink: "/zh-cn/scala3/book/:title.html"
1717
在 Scala 3 中,各种定义都可以在源代码文件的 “顶层” 编写。
1818
例如,您可以创建一个名为 _MyCoolApp.scala_ 的文件,并将以下内容放入其中:
1919

20+
{% tabs toplevel_1 %}
21+
{% tab 'Scala 3 only' for=toplevel_1 %}
22+
2023
```scala
2124
import scala.collection.mutable.ArrayBuffer
2225

@@ -43,13 +46,19 @@ type Money = BigDecimal
4346
println("show me the code".capitalizeAllWords)
4447
```
4548

49+
{% endtab %}
50+
{% endtabs %}
51+
4652
如代码中展示的,无需将这些定义放在 `package`, `class` 或其他构造中。
4753

4854
## 替换包对象
4955

5056
如果你熟悉Scala 2,这种方法可以取代 _包对象_
5157
但是,虽然更易于使用,但它们的工作方式类似:当您将定义放在名为 _foo_ 的包中时,您可以在 _foo_ 包内的所有其他包内访问该定义,例如在此示例中的 _foo.bar_ 包中:
5258

59+
{% tabs toplevel_2 %}
60+
{% tab 'Scala 3 only' for=toplevel_2 %}
61+
5362
```scala
5463
package foo {
5564
def double(i: Int) = i * 2
@@ -63,6 +72,9 @@ package foo {
6372
}
6473
```
6574

75+
{% endtab %}
76+
{% endtabs %}
77+
6678
本示例中使用大括号来强调包嵌套。
6779

6880
这种方法的好处是,您可以将定义放在名为 _com.acme.myapp_ 的包下,然后可以在 _com.acme.myapp.model__com.acme.myapp.controller_ 等中引用这些定义。

0 commit comments

Comments
 (0)