คอมเมนต์ (Comments) ใน Ruby คืออะไร?
คอมเมนต์ Ruby เพิ่มข้อมูลให้โค้ดของคุณ ซึ่งอาจมีประโยชน์สำหรับคุณหรือนักพัฒนาคนอื่น
ประเภทคอมเมนต์ที่พบบ่อยที่สุดคือ single-line comment (คอมเมนต์บรรทัดเดียว)
นี่คือไวยากรณ์:
# I like apples & oranges
สังเกต 3 สิ่ง:
- คอมเมนต์ขึ้นต้นด้วยสัญลักษณ์ pound (
#) - เราวางช่องว่างระหว่างเนื้อหาคอมเมนต์และจุดเริ่มต้นของคอมเมนต์ เพื่อให้อ่านง่าย
- ทุกอย่างภายในคอมเมนต์ ไม่ถูกตีความเป็นโค้ด แม้จะดูเหมือนโค้ดก็ตาม นั่นหมายความว่าคุณสามารถ ชั่วคราว คอมเมนต์โค้ดออกเพื่อปิดการทำงาน
คุณสามารถใช้คอมเมนต์เหล่านี้ได้ทั้งแบบเดี่ยว หรือ inline ที่ท้ายบรรทัดโค้ด
เช่นนี้:
[].size # get array size
มีประเภทคอมเมนต์อื่นอีกไหม?
มีครับ มี magic comments, multiline comments และ ERB comments
มาสำรวจกัน!
วิธีใช้ Multi-Line Comments ใน Ruby
ใน Ruby เราทำ multiline comments ด้วย regular single-line comments เหมือนกัน
บางคนเรียกว่า "block comments"
ตัวอย่าง:
# aaa # bbb # ccc
นี่คือวิธีคอมเมนต์บล็อกโค้ดใน Ruby อย่างถูกต้อง
โค้ดเอดิเตอร์สมัยใหม่ช่วยให้คุณ เลือกบล็อกโค้ดและคอมเมนต์ทั้งหมด ด้วยปุ่มลัดคีย์บอร์ด ดังนั้นจึงไม่มีความพยายามเพิ่มเติม
แต่มีไวยากรณ์ multiline comment แบบพิเศษ
มันเป็นแบบนี้:
=begin This is a comment... a b c =end
ไม่ค่อยมีใครใช้ไวยากรณ์นี้...
มันดูแย่ และคุณแม้แต่ไม่สามารถใช้ได้ภายในสิ่งที่มีอินเดนต์ (เช่นเมธอด) แต่มันดีที่รู้ว่ามันมีอยู่ หากคุณเจอมันในธรรมชาติ
SheBang Comments
Shebang (#!) เป็นคอมเมนต์พิเศษที่บอก Unix shell (เช่น bash) ว่าต้องตีความไฟล์นี้อย่างไร
เมื่อคุณเพิ่มคอมเมนต์นี้ที่บนสุดของไฟล์...
คุณจะสามารถรันไฟล์ Ruby ของคุณเป็น executable files ได้ สมมติว่ามีสิทธิ์ที่เหมาะสม
นี่คือลักษณะ shebang comment:
#!/usr/bin/env ruby
นี่ยังช่วยให้คุณตั้งค่าตัวเลือกบรรทัดคำสั่งเฉพาะได้ เช่น ตัวเลือก warning
ตัวอย่าง:
#!/usr/bin/env ruby -w
ทุกครั้งที่คุณรันโค้ดนี้ มันจะรันพร้อมตัวเลือกเหล่านี้ ดังนั้นคุณไม่ต้องส่งมันด้วยมือ
วิธีใช้ Magic Comments
Magic comment เปลี่ยนพฤติกรรมของตัวแปลภาษา Ruby ในบางทาง
ตัวอย่าง:
คอมเมนต์ frozen_string_literals จะทำให้สตริงของคุณถูกแช่แข็ง (frozen) โดยค่าเริ่มต้น
มันเป็นแบบนี้:
# frozen_string_literal: true
Magic comment อีกตัวช่วยให้คุณเปลี่ยน encoding ของไฟล์ได้
ตัวอย่าง:
# encoding: utf-8
นี่คือตัวน่าสนใจ warn_indent comment:
# warn_indent: true
สิ่งนี้จะแสดงคำเตือนเมื่ออินเดนต์ของคุณผิด
ตัวอย่าง:
def comments end
ซึ่งให้ผล:
warning: mismatched indentations at 'end' with 'def' at 3
ERB Comments
หากคุณใช้ ERM สำหรับ Rails views และคุณต้องการเพิ่มคอมเมนต์...
คุณสามารถใช้ ไวยากรณ์นี้:
<%# ERB comment %>
ผมไม่ค่อยชอบเพราะผมเชื่อว่าคุณควรเก็บตรรกะส่วนใหญ่ไว้นอกมุมมอง (views) ดังนั้นคุณไม่ควรต้องการคอมเมนต์
มองหาการปิดโค้ดบางส่วนสำหรับ debugging?
ลบโค้ดนั้นไป และไว้วางใจ git หรือ version control system ที่คุณใช้
สรุป
คุณได้เรียนรู้เกี่ยวกับประเภทคอมเมนต์ Ruby ต่างๆ รวมถึง regular comments (#) shebang comments (#!) และ magic comments (# frozen_string_literal: true)!
ถ้าคุณพบว่าบทความนี้มีประโยชน์ กรุณาแชร์ให้เพื่อน เพื่อให้เขา/เธอ ได้เพลิดเพลินไปกับมันเช่นกัน
ขอบคุณที่อ่านครับ!