Ruby:hello
From Blognone
ทดลองเขียนโปรแกรมนอก 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'