Skip to content

Commit 342417b

Browse files
committed
Update _ja/overviews/scala3-book/scala-for-python-devs.md. I imported the commits and made corrections such as translating omissions and unifying the expressions at the ends of sentences.
Co-authored-by: eugene yokota <[email protected]> コミットを取り込み、訳しぬけや文末の表現の統一などを行いました
1 parent c2a6854 commit 342417b

File tree

1 file changed

+22
-19
lines changed

1 file changed

+22
-19
lines changed

_ja/overviews/scala3-book/scala-for-python-devs.md

+22-19
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ It’s more like thinking, “Python developers will appreciate Scala’s perfor
2424
TODO: We should probably go through this document and add links to our other detail pages, when time permits.
2525
{% endcomment %}
2626

27-
This section provides a comparison between the Python and Scala programming languages.
28-
It’s intended for programmers who know Python and want to learn about Scala, specifically by seeing examples of how Python language features compare to Scala.
27+
このセクションでは、PythonとScalaのプログラミング言語を比較します。
28+
Pythonに詳しくて、Scalaについて学びたいと考えているプログラマーを対象としています。具体的には、Pythonの言語機能とScalaの比較例を挙げて説明します。
2929

3030
## はじめに
3131

@@ -378,7 +378,7 @@ Scalaのケース・クラスはPythonのフローズン・データクラスに
378378

379379
## インターフェース、トレイト、継承
380380

381-
Java 8以降をご存じであれば、ScalaのtraitはJavaのインターフェースに似ていることがお分かりいただけるかと思います
381+
Java 8以降に慣れていれば、ScalaのtraitはJavaのインターフェースに良く似ていることに気づくと思います
382382
Pythonのインターフェース(プロトコル)や抽象クラスがあまり使われないのに対して、Scalaではトレイトが常に使われています。
383383
したがって、この例では両者を比較するのではなく、Scalaのトレイトを使って数学のちょっとした問題を解く方法を紹介します:
384384

@@ -396,14 +396,14 @@ sm.add(1,1) // 2
396396
sm.multiply(2,2) // 4
397397
```
398398

399-
クラスやオブジェクトでtraitを使う方法は他にも[たくさんあります][modeling-intro]
399+
クラスやオブジェクトでtraitを使う方法は他にも[たくさんあります][modeling-intro]
400400
しかし、これは概念を論理的な動作のグループに整理して、完全な解答を作成するために必要に応じてそれらを統合するために、どのように使うことができるかのちょっとしたアイデアを与えてくれます。
401401

402402
## 制御構文
403403

404-
ここではPythonとScalaの[制御構文][control-structures]を比較する
405-
どちらの言語にも `if`/`else`, `while`, `for` ループ、 `try` といった構文がある
406-
加えて、Scala には `match` 式がある
404+
ここではPythonとScalaの[制御構文][control-structures]を比較します
405+
どちらの言語にも `if`/`else`, `while`, `for` ループ、 `try` といった構文があります
406+
加えて、Scala には `match` 式があります
407407

408408
### `if` 文, 1行
409409

@@ -600,7 +600,7 @@ sm.multiply(2,2) // 4
600600
</tbody>
601601
</table>
602602

603-
### 複数の “range” ジェネレーター
603+
### 複数の “range” ジェネレータ
604604

605605
<table>
606606
<tbody>
@@ -779,16 +779,16 @@ sm.multiply(2,2) // 4
779779
</tbody>
780780
</table>
781781

782-
Match expressions and pattern matching are a big part of the Scala programming experience, but only a few `match` expression features are shown here. See the [Control Structures][control-structures] page for many more examples.
782+
マッチ式とパターンマッチは、Scalaプログラミングの大きな要素ですが、ここで紹介しているのは、マッチ式の機能の一部だけです。より多くの例については、[制御構造][control-structures]のページをご覧ください。
783783

784784
## コレクションクラス
785785

786-
This section compares the [collections classes][collections-classes] that are available in Python and Scala, including lists, dictionaries/maps, sets, and tuples.
786+
このセクションでは、PythonとScalaで利用可能なコレクションクラス[collections classes][collections-classes]を比較します。リスト、辞書/マップ、セット、タプルなどです。
787787

788788
### リスト
789789

790-
Where Python has its list, Scala has several different specialized mutable and immutable sequence classes, depending on your needs.
791-
Because the Python list is mutable, it most directly compares to Scala’s `ArrayBuffer`.
790+
Pythonにはリストがあるように、Scalaにはニーズに応じて、可変および不可変な列(Seq)のクラスがいくつか用意されています。
791+
Pythonのリストは変更可能であるため、Scalaの `ArrayBuffer` によく似ています。
792792

793793
### Pythonリスト &amp; Scalaの列(Seq)
794794

@@ -961,11 +961,11 @@ Python の辞書はScala の `Map` クラスのようなものです。
961961
</tbody>
962962
</table>
963963

964-
Scala has other specialized `Map` classes for different needs.
964+
Scalaには、さまざまなニーズに対応する他の専門的な `Map` クラスがあります。
965965

966966
### 集合
967967

968-
The Python set is similar to the _mutable_ Scala `Set` class.
968+
Pythonの集合は、_mutable_ Scalaの`Set`クラスに似ています。
969969

970970
#### 集合の作成
971971

@@ -1053,15 +1053,15 @@ PythonとScalaには、同じ関数型メソッドがいくつかあります。
10531053
- `filter`
10541054
- `reduce`
10551055

1056-
Pythonのラムダ式でこれらのメソッドを使うのに慣れていれば、Scalaがコレクション・クラスのメソッドで同じようなアプローチを持っていることがわかるだろう
1056+
Pythonのラムダ式でこれらのメソッドを使うのに慣れていれば、Scalaがコレクション・クラスのメソッドで同じようなアプローチを持っていることがわかると思います
10571057
この機能を実証するために、ここに2つのサンプルリストを示します。
10581058

10591059
```scala
10601060
numbers = [1,2,3] // python
10611061
val numbers = List(1,2,3) // scala
10621062
```
10631063

1064-
これらのリストは以下の表で使用され、マップ処理とフィルター処理のアルゴリズムを適用する方法を示している
1064+
これらのリストは以下の表で使用され、マップ処理とフィルター処理のアルゴリズムを適用する方法を示しています
10651065

10661066
### マップ処理の内包表記
10671067

@@ -1158,7 +1158,7 @@ val numbers = List(1,2,3) // scala
11581158

11591159
Scalaのコレクションクラスには100以上の関数メソッドがあり、コードを簡単にすることができます。
11601160
Python では、これらの関数の一部は `itertools` モジュールで利用できます。
1161-
`map``filter``reduce` に加えて、Scala でよく使われるメソッドを以下に示す
1161+
`map``filter``reduce` に加えて、Scala でよく使われるメソッドを以下に示します
11621162
これらのメソッドの例では
11631163

11641164
- `c` はコレクションです。
@@ -1350,8 +1350,11 @@ cd myapp
13501350
sbt compile
13511351
```
13521352

1353-
以上のコマンドを実行することで、その特定のプロジェクトに必要なすべての依存関係が自動的に解決されます。ダウンロードされた依存関係の場所は、主にビルドツールの実装の詳細であり、ユーザーはこれらのダウンロードされた依存関係と直接やりとりする必要はありません。例えば、sbtの依存関係キャッシュ全体を削除した場合、プロジェクトの次のコンパイル時には、sbtが自動的に必要な依存関係をすべて解決し、ダウンロードし直します。
1354-
これはPythonとは異なります。Pythonではデフォルトで依存関係がシステム全体またはユーザー全体のディレクトリにインストールされるため、プロジェクトごとに独立した環境を取得するには、対応する仮想環境を作成する必要があります。例えば、`venv`モジュールを使用して、特定のプロジェクト用に次のように仮想環境を作成できます。
1353+
以上のコマンドを実行することで、その特定のプロジェクトに必要なすべての依存関係が自動的に解決されます。
1354+
ダウンロードされた依存関係の場所は、主にビルドツールの実装の詳細であり、ユーザーはこれらのダウンロードされた依存関係と直接やりとりする必要はありません。
1355+
例えば、sbtの依存関係キャッシュ全体を削除した場合、プロジェクトの次のコンパイル時には、sbtが自動的に必要な依存関係をすべて解決し、ダウンロードし直します。
1356+
これはPythonとは異なります。Pythonではデフォルトで依存関係がシステム全体またはユーザー全体のディレクトリにインストールされるため、プロジェクトごとに独立した環境を取得するには、対応する仮想環境を作成する必要があります。
1357+
例えば、`venv`モジュールを使用して、特定のプロジェクト用に次のように仮想環境を作成できます。
13551358

13561359
```
13571360
cd myapp

0 commit comments

Comments
 (0)