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
| Old | New | Line | |
|---|---|---|---|
| 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).* |
