👨‍💻
มนศ.dev
  • หน้าแรก
  • คอร์ส
    • TypeScript 101
      • TypeScript คืออะไร?
      • TypeScript vs JavaScript
      • ติดตั้ง TypeScript
      • รู้จัก Basic Type ต่างๆ
      • การกำหนด Type ในฟังก์ชั่น
      • การสร้าง Interface
      • Literal Types
      • Type vs Interface
      • Union Types และ Intersection Types
      • Generics ขั้นพื้นฐาน
      • Optional Properties
      • Class (1)
      • Class (2)
      • ลองเขียนเว็บง่าย ๆ ด้วย TypeScript
      • Utility Types
    • Ruby ฉบับคนหัดโค้ด
      • บทนำ
      • ทำไมต้อง Ruby?
      • ลองเล่น Ruby
      • เตรียมพร้อมเรียน Ruby
      • ตัวเลข และชุดอักขระ
      • เมธอด
      • ตัวแปร
      • ตัวแปร (เฉลยแบบฝึกหัด)
      • ประเภทข้อมูลต่างๆ
      • Boolean
  • ลิงก์
    • Facebook Page
    • GitHub
    • monosor.com
    • วงแหวนเว็บ
Powered by GitBook
On this page
  • Boolean Expression
  • นิเสธ (Negation)

Was this helpful?

  1. คอร์ส
  2. Ruby ฉบับคนหัดโค้ด

Boolean

Previousประเภทข้อมูลต่างๆ

Last updated 4 years ago

Was this helpful?

Boolean (บูเลียน) ถึอว่าเป็นข้อมูลพื้นฐานที่สำคัญมากในการเขียนโปรแกรม เนื่องจากจะทำให้โปรแกรมนั้นมีการ "ตัดสินใจ" ได้จากเงื่อนไขที่เราสร้างขึ้น

Boolean จะมีค่าเพียง 2 แบบ คือ จริง true และเท็จ false ในภาษา Ruby นั้นจะเขียนเป็นตัวพิมพ์เล็ก

เพราะฉะนั้น เราจึงไม่สามารถตั้งชื่อตัวแปรเป็น true หรือ false ได้ เพราะว่าภาษาได้ทำการ "จอง" ชื่อนี้ไปแล้ว เรียกว่าเป็น Reserved Keywords ที่เราจะเอามาใช้เป็นชื่อของตัวแปรไม่ได้นั่นเอง

ดู Reserved Keywords ทั้งหมดได้ที่นี่

Boolean Expression

Boolean Expression (นิพจน์บูเลียน) เป็นการสร้างค่า Boolean จากการเขียนโค้ดให้เป็น Expression ต่างๆ ในที่นี้จะขอยกตัวอย่างนิพจน์ทางคณิตศาสตร์ (สมการ) ก่อน อาทิเช่น

  • 10 > 5 ใช้เครื่องหมาย "มากกว่า" >

    • เหมือนกับการตั้งคำถามว่า "10 มากกว่า 5 หรือเปล่า?" ซึ่งคำตอบคือ จริง ฉะนั้นผลของ Expression นี้คือ true

  • 10 < 5 ใช้เครื่องหมาย "น้อยกว่า" <

    • เหมือนกับการตั้งคำถามว่า "10 น้อย 5 หรือเปล่า?" ซึ่งคำตอบคือ เท็จ ฉะนั้นผลของ Expression นี้คือ false

  • a <= 5 ใช้เครื่องหมาย "น้อยกว่าหรือเท่ากับ" <=

    • Expression สามารถใช้คู่กับตัวแปรได้

    • ถ้า a มีค่าน้อยกว่าหรือเท่ากับ 5 เช่น 0, 5, -100 ผลของ Expression นี้คือ true

    • ถ้า a มีค่าไม่น้อยกว่าหรือเท่ากับ 5 (มากกว่า) เช่น 6, 1000, 5.1 ผลของ Expression นี้คือ false

    • ถ้า a เป็นข้อมูลประเภทอื่นที่ไม่ใช้ตัวเลข (เช่น String) โปรแกรมจะทำงานไม่ได้ (Error)

  • 7 >= b ใช้เครื่องหมาย "มากกว่าหรือเท่ากับ" >=

    • ตัวแปรจะอยู่ด้านไหนของ Expression ก็ได้ หรือจะท้ังสองด้านก็ได้

    • ถ้า 7 มีค่ามากกว่าหรือเท่ากับ b เช่น b เป็น 7, 6, 5, ... ผลของ Expression นี้คือ true

    • ถ้า 7 มีค่าไม่มากกว่าหรือเท่ากับ b (น้อยกว่า) เช่น b เป็น 8, 9, 10, ... ผลของ Expression นี้คือ false

  • a == bใช้เครื่องหมายเท่ากับสองตัว เพื่อเทียบว่ามีค่าเท่ากันหรือเปล่า

    • ถ้าค่าท้ังสองด้านเท่ากัน ผลของ Expression นี้คือ true

    • ถ้าค่าท้ังสองด้านไม่เท่ากัน ผลของ Expression นี้คือ false

  • a != bใช้เครื่องหมายอัศเจรีย์ !ตามด้วยเท่ากับ เพี่อเทียบว่ามีค่าไม่เท่ากันหรือเปล่า (ตรงข้ามกับ ==)

    • ถ้าค่าท้ังสองด้านไม่เท่ากัน ผลของ Expression นี้คือ true

    • ถ้าค่าท้ังสองด้านเท่ากัน ผลของ Expression นี้คือ false

เหตุผลที่ Expression "เท่ากับ" ต้องใช้เครื่องหมายเท่ากับสองตัว เพราะว่าการใช้เครื่องหมายเท่ากับตัวเดียว แสดงถึงการกำหนดค่าให้กับตัวแปร

  • a = 1 หมายถึง กำหนดให้ตัวแปร a มีค่าเป็น 1

  • a == 1 หมายถึง การถามว่า a มีค่าเท่ากับ 1 หรือไม่

นิพจน์ที่เป็นการเทียบว่าค่าเท่ากัน หรือไม่เท่ากัน สามารถใช้กับประเภทข้อมูลอื่นนอกจากตัวเลขได้ด้วย

  • String : name == "monosor" เป็นการเช็คว่าตัวแปร name มีค่าเป็น "monosor" หรือไม่

  • Boolean : is_admin == false เป็นการเช็คว่าตัวแปร is_admin มีค่าเป็น false หรือไม่

  • Nil : value == nil เป็นการเช็คว่าตัวแปร value มีค่าเป็น nil หรือไม่

นิเสธ (Negation)

ใช้เครื่องหมายอัศเจรีย์ด้านหน้าตัวแปร หรือ Expression เพื่อแปลงค่าความจริงไปเป็นตรงกันข้าม (จาก true เป็น false และ false กลายเป็น true)

https://ruby-doc.org/core-3.0.0/doc/keywords_rdoc.html
การใช้ Boolean และการสร้างตัวแปรให้มีค่าเป็น Boolean
ตัวอย่าง Boolean Expression