Sign in Join
Wiki copytemporary

Becomes/zh CN: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Becomes/zh CN

OldNewLine
1+<div style="float:left; margin: 0 10px 20px 0; padding:40px; font-size:500%; font-family: Georgia; background-color: #f9f9f9; border: 2px solid #777777;">
2+
3+
4+=
5+
6+</div>
7+
8+符号 ***:=*** (符号 [[Colon|冒号]] 跟着符号 [[Equal|等号]], 中间没空格或其他字符) 读作 ***成为(变成)***,在 [[Pascal]] 中意思是 *被赋值为...*:
9+
10+``` pascal
11+ A := 4 ;
12+ Circle_Area := Pi * Diameter ;
13+ Name := 'Smith' ;
14+ C := 1000 - C div 2 ;
15+```
16+
17+使用两个符号,冒号加等号(而不是只用一种,比如说光用=等号)是为了区分赋值与相等比较。
18+
19+例如,在Pascal以外的语言您可以写
20+
21+
22+A = B = D ;
23+
24+或
25+
26+A = B = D
27+
28+取决与分号在那种语言中是否必要。
29+
30+该表达式的含义取决于语言。例如,在Fortran和Basic中,该表达式意思是将A赋值为“B和D相等吗?” 在C语言中,该表达式意思是将变量A和B的值赋值给D。这种类型的指令错误在C语言中再常见不过了以至于这种表达式经常被编译器标识一个警告,除非您通过在表达式两旁加括号告诉编译器您是有意这么做(多重赋值)。在C语言中测试相等的正确做法是使用***A = B == D;***
31+
32+在Pascal中这种混淆不会发生的,因为该语句非法。您可以写
33+
34+``` pascal
35+A := B = D;
36+```
37+
38+意思与FORTRAN或BASIC相同,就是将A赋值为“B和D相等吗?”
39+
40+要将A,B,D赋予相同的值需要显式的分开赋值形式
41+
42+
43+A := D ; B := D ;
44+
45+或
46+
47+B := D ; A := B ;
48+
49+或
50+
51+A := D ; B := A ;
52+
53+取决于在执行中是否有差异或有副作用 (D 可以式一个动态变量,比方说一个系统 [[Port|port]], 一个 [[Function|函数]] 或是一个[[Object|对象]] 的 [[Property|属性]] ,因此 [[Identifier|标识符]] D 在第一和第二个赋值示例中可能会有所不同)
54+
55+---
56+*From the Free Pascal wiki, page "Becomes/zh CN", as it stood on 2020-02-09 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history