回答編集履歴
1
tuiki…
test
CHANGED
@@ -25,3 +25,39 @@
|
|
25
25
|
|
26
26
|
|
27
27
|
> There is, however, still the ambiguity for the reader - it may not immediately be obvious from reading what was meant by any given plus sign in the code. It's easier in Python to work it out, but personally I'd still prefer to have an unambiguous operator. But that is just a personal preference; if I'm working with Python, Javascript or Visual Basic then I have to work to their rules.
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
---
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
# Google翻訳
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
> プラス記号は、文字列を連結するために想像するほど「広く受け入れられている」ものではありません。 PerlやCなど、それを使用しない言語がたくさんあります。これらはPHPのルーツが存在する場所であるため、PHPがそれに追従するのは理にかなっています。多くの言語には、演算子さえありません。 concat()関数を使用する必要があります。
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
> PHPは弱い型付けであり、プラス記号またはドットを検出すると暗黙的な型変換を行います。つまり、$ x = "45インチ" + "20インチ";を実行すると、PHPは$ xを65に設定します。ドット連結演算子を使用すると、結果は明らかに大きく異なります。 $ y = 5の場合も同様です。 10 ;.これにより510が得られますが、プラス記号に変更すると、まったく異なる結果が得られます。
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
> また、論理的に考えると、プラスの反対はマイナスです。しかし、それは連結にそれほど簡単にマップしません。 (試してみた言語が1つありましたが、実際にはあまり意味がありませんでした)
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
> 連結子としてのプラス記号の好みは、純粋に新しい言語を学習するときの変更に対する抵抗にあります(かなり一般的なこと-中括弧がないためにPythonを最初に嫌っていた少数の人々を知っています!)
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
> 長い間多くの言語を使用してプログラミングしてきた人として、私は明確な連結演算子を持つことを好みます。緩やかに型付けされた言語で追加と連結に同じ演算子を使用すると、問題が発生します。実際、これはJavascriptの最大の欠陥の1つだと思います(これは、一般的にJavascriptのファンである人から来ています)。
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
> Pythonはstronly型です。つまり、同じ型を使用するように強制するため、プラス記号を加算演算子および連結演算子として使用しても問題ありません。 Pythonでは文字列に整数を追加できません。必要な場合は、明示的に型をキャストする必要があるため、少なくともコンパイラーに対してはあいまいさはありません。
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
> ただし、読者にはまだあいまいさがあります。コード内のプラス記号が意味するものを読んでもすぐには明らかではないかもしれません。 Pythonでは簡単に解決できますが、個人的には明確な演算子が必要です。しかし、それは個人的な好みです。 Python、Javascript、またはVisual Basicを使用している場合は、それらのルールに従って作業する必要があります。
|