Skip to content

Commit bd8e894

Browse files
narzegitbook-bot
authored andcommitted
GitBook: [main] 29 pages modified
1 parent ea04d55 commit bd8e894

File tree

2 files changed

+64
-0
lines changed

2 files changed

+64
-0
lines changed

SUMMARY.md

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
* [ตัวแปร](courses/ruby/variables.md)
3131
* [ตัวแปร \(เฉลยแบบฝึกหัด\)](courses/ruby/variables-practice-solutions.md)
3232
* [ประเภทข้อมูลต่างๆ](courses/ruby/data-types.md)
33+
* [Boolean](courses/ruby/boolean.md)
3334

3435
## ลิงก์
3536

courses/ruby/boolean.md

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Boolean
2+
3+
**Boolean \(บูเลียน\)** ถึอว่าเป็นข้อมูลพื้นฐานที่สำคัญมากในการเขียนโปรแกรม เนื่องจากจะทำให้โปรแกรมนั้นมีการ "ตัดสินใจ" ได้จากเงื่อนไขที่เราสร้างขึ้น
4+
5+
Boolean จะมีค่าเพียง 2 แบบ คือ จริง `true` และเท็จ `false` ในภาษา Ruby นั้นจะเขียนเป็นตัวพิมพ์เล็ก
6+
7+
{% hint style="info" %}
8+
เพราะฉะนั้น เราจึงไม่สามารถตั้งชื่อตัวแปรเป็น `true` หรือ `false` ได้ เพราะว่าภาษาได้ทำการ "จอง" ชื่อนี้ไปแล้ว เรียกว่าเป็น **Reserved Keywords** ที่เราจะเอามาใช้เป็นชื่อของตัวแปรไม่ได้นั่นเอง
9+
10+
ดู Reserved Keywords ทั้งหมดได้ที่นี่ [https://ruby-doc.org/core-3.0.0/doc/keywords\_rdoc.html](https://ruby-doc.org/core-3.0.0/doc/keywords_rdoc.html)
11+
{% endhint %}
12+
13+
{% embed url="https://repl.it/@narze/boolean-basic?lite=true" caption="การใช้ Boolean และการสร้างตัวแปรให้มีค่าเป็น Boolean" %}
14+
15+
## Boolean Expression
16+
17+
Boolean Expression \(นิพจน์บูเลียน\) เป็นการสร้างค่า Boolean จากการเขียนโค้ดให้เป็น Expression ต่างๆ ในที่นี้จะขอยกตัวอย่างนิพจน์ทางคณิตศาสตร์ \(สมการ\) ก่อน อาทิเช่น
18+
19+
* `10 > 5` ใช้เครื่องหมาย "มากกว่า" `>`
20+
* เหมือนกับการตั้งคำถามว่า "10 มากกว่า 5 หรือเปล่า?" ซึ่งคำตอบคือ จริง ฉะนั้นผลของ Expression นี้คือ `true`
21+
* `10 < 5` ใช้เครื่องหมาย "น้อยกว่า" `<`
22+
* เหมือนกับการตั้งคำถามว่า "10 น้อย 5 หรือเปล่า?" ซึ่งคำตอบคือ เท็จ ฉะนั้นผลของ Expression นี้คือ `false`
23+
* `a <= 5` ใช้เครื่องหมาย "น้อยกว่า**หรือ**เท่ากับ" `<=`
24+
* Expression สามารถใช้คู่กับตัวแปรได้
25+
* ถ้า `a` มีค่าน้อยกว่าหรือเท่ากับ `5` เช่น 0, 5, -100 ผลของ Expression นี้คือ `true`
26+
* ถ้า `a` มีค่าไม่น้อยกว่าหรือเท่ากับ `5` \(มากกว่า\) เช่น 6, 1000, 5.1 ผลของ Expression นี้คือ `false`
27+
* ถ้า `a` เป็นข้อมูลประเภทอื่นที่ไม่ใช้ตัวเลข \(เช่น String\) โปรแกรมจะทำงานไม่ได้ \(Error\)
28+
* `7 >= b` ใช้เครื่องหมาย "มากกว่า**หรือ**เท่ากับ" `>=`
29+
* ตัวแปรจะอยู่ด้านไหนของ Expression ก็ได้ หรือจะท้ังสองด้านก็ได้
30+
* ถ้า `7` มีค่ามากกว่าหรือเท่ากับ `b` เช่น `b` เป็น 7, 6, 5, ... ผลของ Expression นี้คือ `true`
31+
* ถ้า `7` มีค่าไม่มากกว่าหรือเท่ากับ `b` \(น้อยกว่า\) เช่น `b` เป็น 8, 9, 10, ... ผลของ Expression นี้คือ `false`
32+
* `a == b`ใช้เครื่องหมายเท่ากับสองตัว เพื่อเทียบว่ามีค่าเท่ากันหรือเปล่า
33+
* ถ้าค่าท้ังสองด้านเท่ากัน ผลของ Expression นี้คือ `true`
34+
* ถ้าค่าท้ังสองด้านไม่เท่ากัน ผลของ Expression นี้คือ `false`
35+
* `a != b`ใช้เครื่องหมายอัศเจรีย์ `!`ตามด้วยเท่ากับ เพี่อเทียบว่ามีค่า**ไม่**เท่ากันหรือเปล่า \(ตรงข้ามกับ `==`\)
36+
* ถ้าค่าท้ังสองด้านไม่เท่ากัน ผลของ Expression นี้คือ `true`
37+
* ถ้าค่าท้ังสองด้านเท่ากัน ผลของ Expression นี้คือ `false`
38+
39+
{% hint style="info" %}
40+
เหตุผลที่ Expression "เท่ากับ" ต้องใช้เครื่องหมายเท่ากับสองตัว เพราะว่าการใช้เครื่องหมายเท่ากับตัวเดียว แสดงถึง**การกำหนดค่าให้กับตัวแปร**
41+
42+
* `a = 1` หมายถึง กำหนดให้ตัวแปร `a` มีค่าเป็น `1`
43+
* `a == 1` หมายถึง การถามว่า `a` มีค่าเท่ากับ `1` หรือไม่
44+
{% endhint %}
45+
46+
นิพจน์ที่เป็นการเทียบว่าค่าเท่ากัน หรือไม่เท่ากัน สามารถใช้กับประเภทข้อมูลอื่นนอกจากตัวเลขได้ด้วย
47+
48+
* String : `name == "monosor"` เป็นการเช็คว่าตัวแปร `name` มีค่าเป็น `"monosor"` หรือไม่
49+
* Boolean : `is_admin == false` เป็นการเช็คว่าตัวแปร `is_admin` มีค่าเป็น `false` หรือไม่
50+
* Nil : `value == nil` เป็นการเช็คว่าตัวแปร `value` มีค่าเป็น `nil` หรือไม่
51+
52+
{% embed url="https://repl.it/@narze/boolean-expressions?lite=true" caption="ตัวอย่าง Boolean Expression" %}
53+
54+
### นิเสธ \(Negation\)
55+
56+
ใช้เครื่องหมายอัศเจรีย์ด้านหน้าตัวแปร หรือ Expression เพื่อแปลงค่าความจริงไปเป็นตรงกันข้าม \(จาก `true` เป็น `false` และ `false` กลายเป็น `true`\)
57+
58+
{% embed url="https://repl.it/@narze/boolean-negation?lite=true" %}
59+
60+
61+
62+
63+

0 commit comments

Comments
 (0)