Saturday, May 31, 2014

Programming for starters - Bắt Đầu Thôi !!

Tôi biết rằng nó sẽ khó khăn để bắt đầu lập trình. Điều đo dẫ tôi muốn thực hiện một hướng dẫn mà người ta sẽ đọc trước khi đọc hướng dẫn về cách để tạo ra các plugin đầu tiên của mình. Giới thiệu (Pawn) lập trình trước khi giới thiệu về amxmodx lập trình. Tôi đã thử một cách tiếp cận ít bình thường vì vậy tôi cần bạn cho tôi biết nếu nó là gây nhầm lẫn hoặc vô ích. Đây là phần đầu tiên của nó.


Trong lập trình, tất cả mọi thứ được đại diện bởi số. Một lá thư là một số, một từ là nhóm các con số, màu sắc là một nhóm ba con số (một đại diện cho số lượng màu Red, khác một trong xanh, khác một trong những Blue.
Để chương trình là để giải quyết các con số.

Phần 1 - số, mảng số

Để có một nơi mà chúng ta có thể lưu trữ một số (những gì được quy vào như "biến"), chúng tôi làm:
PHP Code:
new numberHolder  
new có nghĩa là chúng ta đang tạo ra một biến.
numberHolder là nhãn hiệu của nó. Nó nên được đặt tên tùy thuộc vào dữ liệu mà nó sẽ tổ chức.

Đó được gọi là "khai báo một biến"

Để lưu trữ một số trong biến của chúng tôi, chúng tôi làm:

PHP Code:
numberHolder 5  
5 ví dụ cho một số.

Để có một vị trí cho một nhóm các con số (những gì được gọi là một "mảng"), chúng tôi làm:

PHP Code:
new numberGroupHolder[x]  
Trong đó x là số lượng các con số mà biến có thể giữ. (Kích thước của nhóm) 
Nhóm này sẽ có vị trí. Một cho mỗi số. Để truy cập đến từng vị trí chúng tôi làm:

PHP Code:
numberGroupHolder[0]  
0 vị trí đầu tiên. Người cuối cùng là x-1. Vì vậy, để lưu trữ một màu sắc, chúng ta sẽ làm gì:
PHP Code:
new color[3]
color[0] = 0
color
[1] = 100
color
[2] = 255  
hoặc
PHP Code:
new color[3]
color = {0,100,255}  
hoặc thậm chí là

PHP Code:
new color[3] = {0,100,255}  
Pawn cung cấp cho chúng toán tử số học như vậy, sau khi tạo màu sắc của chúng tôi, chúng tôi có thể làm cho nó tối hơn:
PHP Code:
color[0] = color[0] - 10
color
[1] = color[1] - 10
color
[2] = color[2] - 10  
Nếu chúng ta muốn tối nhiều hơn một màu, chúng tôi không cần phải thay đổi từng phần của màu sắc bằng tay.
Chúng ta có thể, thay vào đó, lưu trữ thủ tục này trong một đoạn mã gọi là "hàm":
PHP Code:
darkenColor(anyColor[3])
{
    
anyColor[0] = anyColor[0] - 10
    anyColor
[1] = anyColor[1] - 10
    anyColor
[2] = anyColor[2] - 10}  
Trong đó:

darkenColor là một nhãn hiệu cho hàm mà chúng ta nên đặt tên tùy thuộc vào những gì nó làm
AnyColor là một nhãn hiệu cho các biến của nó cho vào các hàm khi được sử dụng bên trong hàm (không liên quan đến nhãn gốc của biến)

Trong một hàm:

Giữa ngoặc chúng tôi có đối số của nó (các biến mà chúng ta muốn nó có để nó có thể làm công việc của mình). Một trong trường hợp này.
Giữa dấu ngoặc chúng tôi có phần thân của hàm.

Vì vậy, để tối một số màu sắc chúng ta sẽ làm gì:

PHP Code:
new someColor[3] = {100,100,100}
new 
otherColor[3] = {50,100,150}
new 
anotherColor[3] = {255,30,233}

darkenColor(someColor)
darkenColor(otherColor)
darkenColor(anotherColor)  
Điều này được gọi chung là "gọi hàm darkenColor". Trước tiên chúng ta định nghĩa nó, sau đó chúng tôi sử dụng nó. 

sau đó: 

someColor sẽ có giá trị 90,90,90. 
otherColor sẽ có giá trị 40,90,140. 
anotherColor sẽ có giá trị 245,20,223. 

Nhưng, hàm của chúng tôi có một vấn đề. Nếu một phần của màu sắc là thấp hơn 10, nó sẽ trở thành tiêu cực. Điều này là sai vì một phần màu sắc nên được từ 0 đến 255. 
Để giải quyết điều này chúng ta cần phải xử lý một điều kiện. Với một "tuyên bố có điều kiện":

PHP Code:
darkenColor(anyColor[3])
{
    
anyColor[0] = anyColor[0] - 10
    anyColor
[1] = anyColor[1] - 10
    anyColor
[2] = anyColor[2] - 10

    
if(anyColor[0] < 0)
    {
        
anyColor[0] = 0
    
}

    if(
anyColor[1] < 0)
    {
        
anyColor[1] = 0
    
}
   
    if(
anyColor[2] < 0)
    {
        
anyColor[2] = 0
    
}
}  
Trong một mệnh đề if: 

Nếu bất kì giá trị nào đó nhỏ hơn 0 thì sẽ được gán bằng 0
("AnyColor [x] = 0" sẽ xảy ra khi "AnyColor [x] <0") 


hàm của chúng tôi là một chút không thực tế. Chúng ta không thể nói cho anh ta "độ sáng thay đổi" yếu tố. Và nó được cho là chỉ làm tối hơn. 
Vì vậy, cho phép làm cho nó thực tế hơn.

PHP Code:
changeColorLuminosity(anyColor[3],factor)
{
    
anyColor[0] = anyColor[0] + factor
    anyColor
[1] = anyColor[1] + factor
    anyColor
[2] = anyColor[2] + factor

    
if(anyColor[0] < 0)
    {
        
anyColor[0] = 0
    
}

    if(
anyColor[1] < 0)
    {
        
anyColor[1] = 0
    
}
   
    if(
anyColor[2] < 0)
    {
        
anyColor[2] = 0
    
}
}  
Bây giờ chúng tôi có thể cung cấp cho nó một "độ sáng thay đổi" yếu tố và hiện nay được cho là sáng hoặc tối. (Đi qua một yếu tố tích cực để làm sáng, đi qua một yếu tố tiêu cực để làm tối). 
Nhưng, bây giờ, chúng tôi có vấn đề mà nó có thể làm cho một phần màu lớn hơn 255. Vì vậy, chúng ta phải xử lý nó

PHP Code:
changeColorLuminosity(anyColor[3],factor)
{
    
anyColor[0] = anyColor[0] + factor
    anyColor
[1] = anyColor[1] + factor
    anyColor
[2] = anyColor[2] + factor

    
if(anyColor[0] < 0)
    {
        
anyColor[0] = 0
    
}

    if(
anyColor[1] < 0)
    {
        
anyColor[1] = 0
    
}
   
    if(
anyColor[2] < 0)
    {
        
anyColor[2] = 0
    
}

    if(
anyColor[0] > 255)
    {
        
anyColor[0] = 255
    
}

    if(
anyColor[1] > 255)
    {
        
anyColor[1] = 0
    
}
   
    if(
anyColor[2] > 255)
    {
        
anyColor[2] = 0
    
}
}  
Hàm này sẽ làm việc. Nhưng nó có thể được cải thiện. Không có nhu cầu để kiểm tra xem một phần màu có giá trị lớn hơn 255 khi chúng ta biết rằng nó là tiêu cực.

PHP Code:
changeColorLuminosity(anyColor[3],factor)
{
    
anyColor[0] = anyColor[0] + factor
    anyColor
[1] = anyColor[1] + factor
    anyColor
[2] = anyColor[2] + factor

    
if(anyColor[0] < 0)
    {
        
anyColor[0] = 0
    
}
    else if (
anyColor[0] > 255)
    {
        
anyColor[0] = 255
    
}

    if(
anyColor[1] < 0)
    {
        
anyColor[1] = 0
    
}
    else if (
anyColor[1] > 255)
    {
        
anyColor[1] = 255
    
}
   
    if(
anyColor[2] < 0)
    {
        
anyColor[2] = 0
    
}
    else if (
anyColor[2] > 255)
    {
        
anyColor[2] = 255
    
}
}  
Cái này:
PHP Code:
    if(anyColor[x] < 0)
    {
        
anyColor[x] = 0
    
}
    else if (
anyColor[x] > 255)
    {
        
anyColor[x] = 255
    
}  
có thể đọc là:

Nếu một phần màu sắc là tiêu cực làm cho nó vô giá trị. Nếu nó không phải là tiêu cực và nó lớn hơn 255 làm cho nó 255.

Phần 2 - Các nhân vật, mảng ký tự (chuỗi)

by Bugsy

chuỗi
Một chuỗi được định nghĩa là một nhóm của 2 hoặc nhiều ký tự liền kề nhau. Lập trình , một chuỗi chỉ là một mảng của các con số được biểu diễn như là một toàn thể. Mỗi ký tự trong bộ ký tự ASCII được đại diện bởi một số nguyên trong khoảng từ 0 đến 255. Vì lợi ích của hướng dẫn này chúng tôi sẽ chỉ xem xét chữ cái mặc dù bộ ký tự ASCII có rất nhiều ký tự khác ( bao gồm cả số và ký tự đặt biệt). một chuổi phải luôn được kết thúc bằng giá trị null ( giá trị ascii 0) . Khi một ký tự null được tìm thấy trong chuỗi nó được coi là kết thúc của một chuỗi . Khi bạn xác định một mảng để chứa một chuỗi, bạn luôn luôn phải thêm 1 vào kích thước của chuỗi mà bạn muốn giữ để phân bổ không gian cho các ký tự null . Ví dụ, Nếu bạn mong muốn giữ từ "word" trong chuỗi của bạn , xác định các mảng như mới szWord [5] . Khi bạn khai báo một mảng, mỗi phần tử trong mảng có giá trị từ 0 (null) theo mặc định , do đó bạn không cần phải tự thiết lập các ký tự cuối cùng là vô giá trị (hoặc 0) . Hãy nhớ rằng các mảng bắt đầu với
một chỉ số từ 0 như vậy và mảng được xác định với kích thước của 5 sẽ được truy cập bằng cách sử dụng . 0 - 4 [0 , 1, 2 , 3, 4 ] .

Ascii Character Set
Xin lưu ý rằng các ký tự chữ hoa và chữ thường được coi là các ký tự khác nhau. Ví dụ, 'a' không bằng 'A'

Giá trị nguyên ký tự ascii:

A-Z dao động 65-90. 65 là 'A' và 90 là 'Z'
a-z khoảng 97-122. 97 là 'a' và 122 là 'z'

Xác định Strings với Code Ví dụ 
Giả sử chúng ta muốn xác định một chuỗi và làm cho nó giữ từ "word" hoặc "WORD" 

Chúng ta có thể làm điều này bằng 2 cách: 

1. Nếu bạn muốn chỉ định một giá trị chuỗi biến của bạn khi xác định nó, bạn không cần phải xác định kích thước. 
Trình biên dịch sẽ làm điều này tự động, nó cũng sẽ bao gồm một yếu tố thêm cho các ký tự null ở cuối dòng.

PHP Code:
new szWord[] = "word"
new szWord[] = "WORD"  
2. Dưới đây chúng tôi xác định một mảng của 5 yếu tố. Chú ý cách chúng tôi tạo ra các biến mảng có kích thước lớn hơn 1 cần thiết. 
Dưới đây chúng tôi thiết lập giá trị của szWord [4] đến 0 chỉ cho mục đích trình diễn, mặc dù nó không phải là cần thiết vì các giá trị mặc ​​định là 0 khi nó được định nghĩa.
PHP Code:
new szWord[5]
szWord[0] = 119 //w
szWord[1] = 111 //o
szWord[2] = 114 //r
szWord[3] = 100 //d
szWord[4] = 0   //null .. This is not needed since the default value of each element is 0szWord[0] = 87 //WszWord[1] = 79 //OszWord[2] = 82 //RszWord[3] = 68 //DszWord[4] = 0  //null .. This is not needed since the default value of each element is 0.

//Note that you do not need to memorize the ascii value for every character. You can assign a character to a variable or array element by enclosing
//it in single quotes. Example:

szWord[0] = 'w'
szWord[1] = 'o'
szWord[2] = 'r'
szWord[3] = 'd'
szWord[4] = '^0'  
Null Terminated Strings
Như đã đề cập ở trên, khi một ký tự null (giá trị 0) được tìm thấy trong mảng, nó được coi là kết thúc của chuỗi. 

Để xem nó trong hành động, đây là một ví dụ nhỏ:
PHP Code:
new szWord[] = "alphabet"
szWord[5] = 0  //Set where character 'b' is stored to null. (ascii value of 0)

//It will equal "alpha" instead of "alphabet"  
Looping through Characters in a String
Đoạn code dưới đây sẽ cho phép truy cập vào từng ký tự của một chuổi và kiểm tra nó.
Để làm được điều này thì chúng ta sẽ sử dụng đến vòng lặp For. Cú pháp của nó như sau.
Vòng lặp for sử dụng để lặp trong 1 khoảng xác định (số lần lặp xác định).
Cú pháp:
Mã PHP:
for(<biến đếm> = <giá trị đầu>;<điều kiện lặp>;<biểu thức biến thiên của biến đếm>)  
Trong đó:
điều kiện lặp: là điều kiện để vòng lặp được thực hiện, nếu điều kiện trả về giá trị TRUE thì lặp, ngược lại thì vòng lặp kết thúc.
biểu thức biến thiên của biến đếm: là biểu thức thể hiện sự biến thiên nhất định của biến đếm trong mỗi lần lặp (++, --, +=, -=,...)
Ví dụ:
Mã PHP:
for(new 1<= 32i++)
{
      
// Lệnh}
//Biến i sẽ chạy từ 1 -> 32 theo chiều tăng dần (i++), khi i vượt quá 32 thì vòng lặp kết thúc.  
strlen() là hàm được xây dựng vào AMX-x, Nó sẽ trả lại chiều dài của một chuỗi (không bao gồm null)

PHP Code:
new szString[] = "this is a test string"
new iLen strlenszString //If you know the length you can manually specify it
new iSpaces;
new 
iLetter_t;//Start at 0 and loop until the index is 1 less than the length since arrays have a 0-based index [0 to len-1]

for ( new iLen i++ )
{
        if ( 
szString[i] == ' ' )
                
iSpaces++
        else if ( 
szString[i] == 't' )
                
iLetter_t++

//OR
        
switch ( szString[i] )
        {
                case 
' 'iSpaces++
                case 
't'iLetter_t++
        }
}

ResultSpaces Letter 't' 4  
Để tạo ra một chuỗi chứa bảng chữ cái chữ thường:
PHP Code:
new szAlphabet[27//26 letters in the alphabet plus 1 for null terminator

//'a' has a ascii value of 97 so we just add it to our loop index since it is incremented with each pass

for ( new 26 i++ )
        
szAlphabet[i] = 97 //Assign ascii value to array and then increment the ascii value variable

//This is what will occur through the loop
//szAlphabet[0] = 97   //a
//szAlphabet[1] = 98   //b
//szAlphabet[2] = 99   //c
//szAlphabet[3] = 100  //d
//...
//szAlphabet[25] = 122  //z  
Array of Strings
Bạn có thể tạo một mảng các chuỗi. Điều này cũng được biết đến như là một mảng 2 chiều.
PHP Code:
//To define an array of strings that you will assign a value to when defining:
new szString[][] = { "this" "is" "an" "array" "of" "strings" }//strings are then accessed via the index of string. example szString[0] = "this", szString[1] = "is"

//If values assigned during run-time (example, for storing player names or steamID's when they connect)

new szString[number of strings][length of longest string]  
Để truy cập vào một chuỗi trong một mảng các chuỗi bạn sử dụng logic tương tự như truy cập vào một ký tự duy nhất trong một chuỗi bình thường. Ví dụ, nếu bạn muốn có được chữ "array" trong mảng trên dây, bạn sẽ sử dụng szString [3]. Để có được một nhân vật cá nhân bạn chỉ cần thêm truy cập nó cho phù hợp. Để có được là người đầu tiên 'r' trong mảng, szString [3] [1]. 

Có rất nhiều chức năng được xây dựng trong cốt lõi AMX-X mà làm cho nó dễ dàng để thao tác chuỗi. Xem trang hàm 
trên trang chủ amxmodx.org.


Part 3 - CẤU TRÚC CƠ BẢN

by Exolent[jNr]



Khái niệm cơ bản 
A conditional statement is a statement to decide whether to continue with the block of code.
Và && . VD (a==1 && b==2) (a=1 và b=2)
Hoặc || VD (a==1 || b==1) (a=1 hoặc b=1)
Example:
Code:
// x is greater than 0 or less than or equal to 255
x > 0 || x <= 255

// x is greater than 15 and y is less than 10
x > 15 && y < 10

// x is less than 15
// or y is less than 0 and y is greater than -10
x < 15 || y < 0 && y > -10

// x is greater than 16
// and y is greater than 10 or y is less than 0
x > 16 && (y > 10 || y < 0)

// a is greater than b and c is less than d and e is less than f
a > b && c < d && e < f
Đây là một trường hợp đặc biệt mà bạn có thể sử dụng một định dạng khác nhau.

Code:
// x is greater than 0 and less than or equal to 5
x > 0 && x <= 5

// This can be a double-sided inequality (not the term, but easy to understand)
0 < x <= 5
Cái này là "double-sided inequality" sẽ chỉ làm việc nếu nó là một phạm vi cụ thể của các giá trị. 
Nó sẽ không làm việc với một cái gì đó như:
Code:
// x is greater than 5 or less than 0
x > 5 || x < 0
Báo cáo có điều kiện cũng có thể kiểm tra xem một cái gì đó là không đúng sự thật.
! đối diện
!= có nghĩa là không bằng
Code:
// x is not less than 0
!(x < 0)

// x is not equal to 0
x != 0
Đây có thể trở nên rất phức tạp, và với các "đối diện" nhà điều hành, bạn có thể chuyển đổi các điều kiện.
Code:
// x is greater than 0 and y is less than 2
x > 0 && y < 2

// the same as above, but with the "opposite" operator
!(x <= 0 || y >= 2)
// this conditional statement reads as this:
// if x <= 0, then it will be false
// if y >= 2, then it will be false
// otherwise, it will be true because x > 0 and y < 2
"If" Statements
Một "If" mệnh đề là một câu lệnh có điều kiện để quyết định có một khối mã sẽ được sử dụng.
Nó rất đơn giản để sử dụng.
Định dạng là:
Code:
if( [conditional] )
{
    // block of code if conditional is true
}
Code:
if( x > 1 )
{
    // this code will be used if x is greater than 1
}
Cùng với "If" mệnh đề là một "Else IF" và mệnh đề "Else". 
"Else IF" mệnh đề được sử dụng khi mệnh đề 'IF' đầu tiên là sai. 
Nó có định dạng tương tự, ngoại trừ nó có một "khác" trước khi nó.
Code:
if( [conditional #1] )
{
    // conditional #1 is true
}
else if( [conditional #2] )
{
    // conditional #1 is false
    // and conditional #2 is true
}
"Else" mệnh đề được sử dụng khi tất cả các "Else IF" và "if" báo cáo là sai.
Code:
if( [conditional #1] )
{
    // conditional #1 is true
}
else if( [conditional #2] )
{
    // conditional #1 is false
    // and conditional #2 is true
}
else
{
    // conditional #1 is false
    // and conditional #2 is false
}
vòng lặp
Có 3 vòng khác nhau mà bạn có thể làm:
  • while
  • do, while
  • for

Danh sách đó được sắp xếp về biến chứng.

trong khi điều kiện còn đúng thì tiếp tục vòng lặp
Format:
Code:
while( [Điều Kiện] )
{
    // khối mã sẽ được sử dụng
}
Cách nó hoạt động:
  1. Kiểm tra điều kiện
  2. Nếu đúng thì thực thi khối mã , nếu sai thì kết thúc vòng lặp
  3. Trở lại  #1


Vòng lặp "do, while" giống như vòng lặp "while".
Sự khác biệt duy nhất là thứ tự mà nó được sử dụng.
Format:
Code:
do
{
    // Khối mã được sử dụng
}
while( [Điều kiện] ); //dấu chấm phẩy là không cần thiết, trừ khi dấu chấm phẩy được thực thi
The way it works:
  1. Thực hiện khối mã bên trong
  2. Kiểm tra điều kiện
  3. Nếu đúng, sau đó thực hiện các khối mã bên trong; nếu sai, thoát khỏi vòng lặp
  4. Quay trở lại #2

Vòng lặp "For" là phức tạp hơn so với những người khác. 
Chúng chủ yếu được sử dụng để đếm từ một số đến khác. 
Nó chứa 3 phần: đầu, có điều kiện, tăng. 
Ban đầu - Tạo biến để sử dụng cho vòng lặp. 
Có điều kiện - tuyên bố có điều kiện để kiểm tra xem các vòng lặp nên tiếp tục. 
Tăng - Tăng giá trị của biến đã được tạo ra.
Format:
Code:
for( [đầu]; [điều kiện]; [tăng] ) //Phải có dấu phẩy
{
    // Khối lệnh
}
Cách nó hoạt động:
  1. thực hiện ban đầu
  2. Nếu có điều kiện là đúng, thực thi mã; nếu sai, thoát khỏi vòng lặp
  3. Thực hiện khối mã
  4. thực hiện tăng
  5. Trở lại #2

Ví dụ đếm từ 1 đến 5:

Code:
for( new i = 1; i <= 5; i++ ) // i + + tăng i lên 1
{
    // Khối lệnh
}
Ví dụ đếm 10 đến 1:
Code:
for( new i = 10; i >= 1; i-- ) // i-- giảm i xuống 1
{
    // Khối lệnh
}
Vòng lặp có thể bị buộc phải bỏ qua các phần của mã và quay trở lại một lần nữa với điều kiện "tiếp tục" điều hành. 
Ví dụ:
Code:
for( new i = 0; i < 4; i++ )
{
    if( i == 2 )
    {
        continue;
    }
    
    // khối mã chỉ khi i không phải là 2
}
Vòng lặp cũng có thể bị buộc phải thoát khỏi ngay cả khi có điều kiện là đúng sự thật. 
Ví dụ:
Code:
for( new i = 0; i < 4; i++ )
{
    if( i == 2 )
    {
        break;
    }
    
    / / Mã này sẽ chỉ được sử dụng cho khi i là 0 và 1 
     / / Khi i đạt 2, vòng lặp sẽ thoát 
     / / Do đó, i không bao giờ đạt 3 như các vòng lặp muốn trong điều kiện
}
"Switch" Statements
Switch statements được sử dụng khi song sanh với nhiều giá trị khác nhau.
Cú pháp:
Code:
switch( variable )
{
    case VALUE_1:
    {
        // variable is equal to VALUE_1
    }
    case VALUE_2:
    {
        // variable is equal to VALUE_2
    }
    case VALUE_3:
    {
        // variable is equal to VALUE_3
    }
}
Có một lựa chọn khác sẽ được sử dụng nếu có các giá trị khác là không chính xác.

Code:
switch( variable )
{
    case VALUE_1:
    {
        // variable is equal to VALUE_1
    }
    case VALUE_2:
    {
        // variable is equal to VALUE_2
    }
    case VALUE_3:
    {
        // variable is equal to VALUE_3
    }
    default:
    {
    // variable is not VALUE_1, VALUE_2, or VALUE_3
    }
}
Part 4 - Mathematical Operators

by Exolent[jNr]



Cách sử dụng cơ bản 
Chúng ta đều biết các biểu thức toán học cơ bản:
  • Cộng
  • Trừ
  • Nhân
  • Chia
Những có thể dễ dàng được sử dụng trong chương trình.
Code:
new x = 1, y = 4;

// Addition
x = y + 1; // x now equals 5

// Subtraction
y = x - 2; // y now equals 2

// Multiplication
x = y * 2; // x now equals 4

// Division
y = 12 / x; // y now equals 3
Trong lập trình, có những biểu thức hơn nữa như.
  • Lấy dư
  • Dịch Bit
Phép chia lấy dư sẽ trả về số dư của phép chia
Ví dụ:
Code:
25 / 4 = 6 R 1
// That means that 4 goes into 25, 6 times evenly,
// and there is a remainder of 1 left over.

new x = 25 % 4;
// x now equals 1

x = 113 % 100;
// x now equals 13
Đối với thông tin về bit chuyển dịch, xem ở  tutorial.

Increments
Variables may need to have values added, subtracted, or any other mathematical operation done to their original value.
This can simply be coded like this:
Code:
new x = 5;

x = x + 1;
// x was incremented by 1, and now equals 6

x = x * 2;
// x was mulitplied by 2, and now equals 12

x = x / 4;
// x was divided by 4, and now equals 3

x = x - 2;
// x was decremented by 2, and now equals 1
There are shorthand operations for code such as this.
Code:
variable (operator)= (value);

// This will perform (operator) to (variable) with (value).
Example:
Code:
new x = 5;

x *= 10;
// x now equals 50

x -= 10;
// x now equals 40

x /= 2;
// x now equals 20

x += 4;
// x now equals 24
There is a special case when using "+= 1" and "-= 1".
Code:
new x = 1;

x += 1;
// x now equals 2

x++;
// x now equals 3
// ++ is the equivalent of += 1
// it can even be placed before the variable
++x;

// There is a difference in ++variable and variable++;
// ++variable increments the variable before it is used,
// and variable++ increments the variable after it is used.

new x = 1;
new y = x++;
// x = 2, y = 1
// x was increased to 2 after it was assigned to y

x = 1;
y = ++x;
// x = 2, y = 2
// x was increased to 2 before it was assigned to y
The same goes for -= 1. It is used with --.
Code:
new x = 1;
new y = --x;
// x = 0, y = 0

x = 10;
y = x--;
// x = 9, y = 10

0 nhận xét:

Post a Comment