F # - ตัวดำเนินการ
ตัวดำเนินการคือสัญลักษณ์ที่บอกให้คอมไพเลอร์ดำเนินการทางคณิตศาสตร์หรือตรรกะเฉพาะ F # อุดมไปด้วยตัวดำเนินการในตัวและมีตัวดำเนินการประเภทต่อไปนี้ -
- ตัวดำเนินการเลขคณิต
- ตัวดำเนินการเปรียบเทียบ
- ตัวดำเนินการบูลีน
- ตัวดำเนินการ Bitwise
ตัวดำเนินการเลขคณิต
ตารางต่อไปนี้แสดงตัวดำเนินการเลขคณิตทั้งหมดที่ภาษา F # รองรับ สมมติว่าตัวแปร A ถือ 10 และตัวแปร B ถือ 20 แล้ว -
แสดงตัวอย่าง
ตัวดำเนินการ | คำอธิบาย | ตัวอย่าง |
---|---|---|
+ | เพิ่มสองตัวถูกดำเนินการ | A + B จะให้ 30 |
- | ลบตัวถูกดำเนินการที่สองจากตัวแรก | A - B จะให้ -10 |
* | คูณตัวถูกดำเนินการทั้งสอง | A * B จะให้ 200 |
/ | หารตัวเศษด้วยตัวเศษ | B / A จะให้ 2 |
% | ตัวดำเนินการโมดูลัสและส่วนที่เหลือหลังจากการหารจำนวนเต็ม | B% A จะให้ 0 |
** | Exponentiation Operator ยกตัวถูกดำเนินการเป็นพลังของอีกตัวหนึ่ง | B ** A จะให้ 20 10 |
ตัวดำเนินการเปรียบเทียบ
ตารางต่อไปนี้แสดงตัวดำเนินการเปรียบเทียบทั้งหมดที่รองรับภาษา F # ตัวดำเนินการเปรียบเทียบไบนารีเหล่านี้พร้อมใช้งานสำหรับประเภทอินทิกรัลและทศนิยม ตัวดำเนินการเหล่านี้ส่งคืนค่าประเภทบูล
สมมติว่าตัวแปร A ถือ 10 และตัวแปร B ถือ 20 จากนั้น -
แสดงตัวอย่าง
ตัวดำเนินการ | คำอธิบาย | ตัวอย่าง |
---|---|---|
= | ตรวจสอบว่าค่าของตัวถูกดำเนินการสองค่าเท่ากันหรือไม่ถ้าใช่เงื่อนไขจะกลายเป็นจริง | (A == B) ไม่เป็นความจริง |
<> | ตรวจสอบว่าค่าของตัวถูกดำเนินการสองค่าเท่ากันหรือไม่หากค่าไม่เท่ากันเงื่อนไขจะกลายเป็นจริง | (A <> B) เป็นจริง |
> | ตรวจสอบว่าค่าของตัวถูกดำเนินการด้านซ้ายมากกว่าค่าของตัวถูกดำเนินการด้านขวาหรือไม่ถ้าใช่เงื่อนไขจะกลายเป็นจริง | (A> B) ไม่เป็นความจริง |
< | ตรวจสอบว่าค่าของตัวถูกดำเนินการด้านซ้ายน้อยกว่าค่าของตัวถูกดำเนินการด้านขวาหรือไม่ถ้าใช่เงื่อนไขจะกลายเป็นจริง | (A <B) เป็นจริง |
> = | ตรวจสอบว่าค่าของตัวถูกดำเนินการด้านซ้ายมากกว่าหรือเท่ากับค่าของตัวถูกดำเนินการด้านขวาหรือไม่ถ้าใช่เงื่อนไขจะกลายเป็นจริง | (A> = B) ไม่เป็นความจริง |
<= | ตรวจสอบว่าค่าของตัวถูกดำเนินการด้านซ้ายน้อยกว่าหรือเท่ากับค่าของตัวถูกดำเนินการด้านขวาหรือไม่ถ้าใช่เงื่อนไขจะกลายเป็นจริง | (A <= B) เป็นจริง |
ตัวดำเนินการบูลีน
ตารางต่อไปนี้แสดงตัวดำเนินการบูลีนทั้งหมดที่ภาษา F # รองรับ สมมติตัวแปร A ถือtrue และตัวแปร B ถือ false, แล้ว -
แสดงตัวอย่าง
ตัวดำเนินการ | คำอธิบาย | ตัวอย่าง |
---|---|---|
&& | เรียกว่าตัวดำเนินการบูลีน AND ถ้าตัวถูกดำเนินการทั้งสองไม่ใช่ศูนย์เงื่อนไขจะกลายเป็นจริง | (A && B) เป็นเท็จ |
|| | เรียกว่า Boolean OR Operator หากตัวถูกดำเนินการสองตัวใดตัวหนึ่งไม่ใช่ศูนย์เงื่อนไขจะกลายเป็นจริง | (A || B) เป็นจริง |
ไม่ | เรียกว่า Boolean NOT Operator ใช้เพื่อย้อนกลับสถานะตรรกะของตัวถูกดำเนินการ หากเงื่อนไขเป็นจริงตัวดำเนินการ Logical NOT จะสร้างเท็จ | ไม่ (A && B) เป็นจริง |
ตัวดำเนินการ Bitwise
ตัวดำเนินการ Bitwise ทำงานบนบิตและดำเนินการแบบบิตต่อบิต ตารางความจริงสำหรับ &&& (bitwise AND), ||| (bitwise OR) และ ^^^ (bitwise exclusive OR) มีดังนี้ -
แสดงตัวอย่าง
น | q | p &&& q | p ||| q | p ^^^ q |
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
สมมติว่า A = 60; และ B = 13; ตอนนี้ในรูปแบบไบนารีพวกเขาจะเป็นดังนี้ -
A = 0011 1100
B = 0000 1101
-----------------A &&& B = 0000 1100
ก ||| B = 0011 1101
ก ^^^ B = 0011 0001
~~~ ก = 1100 0011
ตัวดำเนินการ Bitwise ที่รองรับโดยภาษา F # แสดงอยู่ในตารางต่อไปนี้ สมมติตัวแปร A ถือ 60 และตัวแปร B ถือ 13 จากนั้น -
ตัวดำเนินการ | คำอธิบาย | ตัวอย่าง |
---|---|---|
&&& | ไบนารี AND Operator จะคัดลอกบิตไปยังผลลัพธ์หากมีอยู่ในตัวถูกดำเนินการทั้งสอง | (A &&& B) จะให้ 12 ซึ่งก็คือ 0000 1100 |
||| | ไบนารีหรือตัวดำเนินการจะคัดลอกบิตหากมีอยู่ในตัวถูกดำเนินการอย่างใดอย่างหนึ่ง | (A ||| B) จะให้ 61 ซึ่งก็คือ 0011 1101 |
^^^ | ตัวดำเนินการ XOR ไบนารีจะคัดลอกบิตหากตั้งค่าไว้ในตัวถูกดำเนินการเดียว แต่ไม่ใช่ทั้งสองอย่าง | (A ^^^ B) จะให้ 49 ซึ่งก็คือ 0011 0001 |
~~~ | Binary Ones Complement Operator เป็นเอกภาพและมีผลของบิต 'พลิก' | (~~~ A) จะให้ -61 ซึ่งก็คือ 1100 0011 ในรูปแบบประกอบของ 2 |
<<< | ตัวดำเนินการกะซ้ายแบบไบนารี ค่าตัวถูกดำเนินการด้านซ้ายจะถูกย้ายไปทางซ้ายตามจำนวนบิตที่ระบุโดยตัวถูกดำเนินการด้านขวา | A <<< 2 จะให้ 240 ซึ่งเท่ากับ 1111 0000 |
>>> | ตัวดำเนินการกะไบนารีขวา ค่าตัวถูกดำเนินการด้านซ้ายจะถูกย้ายไปทางขวาตามจำนวนบิตที่ระบุโดยตัวถูกดำเนินการด้านขวา | A >>> 2 จะให้ 15 ซึ่งก็คือ 0000 1111 |
ลำดับความสำคัญของตัวดำเนินการ
ตารางต่อไปนี้แสดงลำดับความสำคัญของตัวดำเนินการและคีย์เวิร์ดนิพจน์อื่น ๆ ในภาษา F # จากลำดับความสำคัญต่ำสุดไปยังลำดับความสำคัญสูงสุด
แสดงตัวอย่าง
ตัวดำเนินการ | ความสัมพันธ์ |
---|---|
เช่น | ขวา |
เมื่อไหร่ | ขวา |
| (ท่อ) | ซ้าย |
; | ขวา |
ปล่อย | ไม่เชื่อมโยง |
ฟังก์ชั่นสนุกจับคู่ลอง | ไม่เชื่อมโยง |
ถ้า | ไม่เชื่อมโยง |
→ | ขวา |
: = | ขวา |
, | ไม่เชื่อมโยง |
หรือ, || | ซ้าย |
&, && | ซ้าย |
<op,> op, =, | op, & op | ซ้าย |
&&&, |||, ^^^, ~~~, <<<, >>> | ซ้าย |
^ op | ขวา |
:: | ขวา |
:?>,:? | ไม่เชื่อมโยง |
- op, + op, (ไบนารี) | ซ้าย |
* op, / op,% op | ซ้าย |
** op | ขวา |
fx (แอปพลิเคชันฟังก์ชัน) | ซ้าย |
| (รูปแบบที่ตรงกัน) | ขวา |
ตัวดำเนินการคำนำหน้า (+ op, -op,%, %%, &, &&,! op, ~ op) | ซ้าย |
. | ซ้าย |
f (x) | ซ้าย |
f <types> | ซ้าย |