Ruby:hello

From Blognone

Jump to: navigation, search

ทดลองเขียนโปรแกรมนอก irb เริ่มด้วยการสร้างไฟล์ hello.rb

# hello.rb
puts('hello world')

จากนั้นทดลองเรียกโปรแกรมของเรา ผ่าน console

$ Ruby hello.rb
hello world

คำสั่ง puts จะคล้ายกับคำสั่ง println มันจะทำหน้าที่พิมพ์ string ที่ส่งให้ออกมา สิ่งที่อยู่หลัง "#" ภาษา Ruby จะถึอว่าเป็น comment มันจะข้ามไปโดยไม่สนใจ

การใส่ comment สามารถใส่ในบรรทัดเดียวกับคำสั่งก็ได้

puts 'hello world' # say hello

จะเห็นว่า Ruby ไม่จำเป็นต้องมี ';' เพื่อบอกการจบแต่ละคำสั่ง เพราะส่วนมากเราจะเขียนบรรทัดละหนึ่งคำสั่งอยู่แล้ว Ruby จะช่วยเราโดยดู "End of line" เป็นการจบคำสั่งแทน แต่ถ้าจะใช้ ";" เพื่อแสดงว่าจบคำสั่งก็ได้ ในกรณีที่ต้องการให้ในหนึ่งบรรทัดมีสองคำสั่ง

puts('hello world');
 
puts('hello '); puts('world')

กรณีที่หนึ่งคำสั่งไมได้จบในบรรทัดเดียว Parser ของ Ruby จะดูสัญลักษณ์สุดท้ายเพื่อวิเคราะห์ว่าจบคำสั่งหรือยัง

x = 10 +
    20 + 30

เครื่องหมาย + แสดงว่าคำสั่งยังไม่จบในบรรทัดนี้ Ruby จะลงมาอ่านที่บรรทัดต่อไปให้เรา หรือเราสามารถใส่ "\" เพื่อแสดงการขึ้นบรรทัดใหม่ โดยไม่จบคำสั่งก็ได้

x = 10 \
    + 20 + 30

อีกสิ่งหนึ่งเราเราควรรู้ก่อนเริ่มเขียน Ruby คือความแตกต่างของ

puts 'hello world'

และ

puts "hello world"

ทั้ง single quote และ double quote ต่างก็เป็น string แต่การใช้ 'abc\n' จะนับจำนวนตัวอักษรได้ 5 ตัวอักษร ส่วน "abc\n" จะนับได้ 4 ตัวอักษร นั่นเพราะ Ruby แปล \n ที่อยู่ใน "_" ว่าเป็นการขึ้นบรรทัดใหม่ ส่วนการใช้ '_' Ruby จะมองเป็นตัวอักษร '\' และ 'n'