Ruby - ไวยากรณ์

ให้เราเขียนโปรแกรมง่ายๆในทับทิม ไฟล์ทับทิมทั้งหมดจะมีนามสกุล.rb. ดังนั้นใส่ซอร์สโค้ดต่อไปนี้ในไฟล์ test.rb

#!/usr/bin/ruby -w

puts "Hello, Ruby!";

ที่นี่เราสันนิษฐานว่าคุณมีตัวแปล Ruby อยู่ในไดเร็กทอรี / usr / bin ตอนนี้ลองเรียกใช้โปรแกรมนี้ดังนี้ -

$ ruby test.rb

สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -

Hello, Ruby!

คุณได้เห็นโปรแกรม Ruby อย่างง่ายแล้วตอนนี้ให้เราดูแนวคิดพื้นฐานบางประการที่เกี่ยวข้องกับ Ruby Syntax

ช่องว่างในโปรแกรม Ruby

โดยทั่วไปอักขระช่องว่างเช่นช่องว่างและแท็บจะถูกละเว้นในรหัส Ruby ยกเว้นเมื่อปรากฏในสตริง อย่างไรก็ตามบางครั้งพวกเขาถูกใช้เพื่อตีความข้อความที่คลุมเครือ การตีความการเรียงลำดับนี้จะสร้างคำเตือนเมื่อเปิดใช้งานตัวเลือก -w

ตัวอย่าง

a + b is interpreted as a+b ( Here a is a local variable)
a  +b is interpreted as a(+b) ( Here a is a method call)

การสิ้นสุดบรรทัดในโปรแกรม Ruby

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

ตัวระบุทับทิม

ตัวระบุคือชื่อของตัวแปรค่าคงที่และวิธีการ ตัวระบุ Ruby นั้นคำนึงถึงตัวพิมพ์เล็กและใหญ่ หมายความว่า Ram และ RAM เป็นตัวระบุสองตัวที่แตกต่างกันใน Ruby

ชื่อตัวระบุ Ruby อาจประกอบด้วยอักขระที่เป็นตัวอักษรและตัวเลขคละกันและอักขระขีดล่าง (_)

คำสงวน

รายการต่อไปนี้แสดงคำสงวนใน Ruby ห้ามใช้คำสงวนเหล่านี้เป็นชื่อคงที่หรือตัวแปร อย่างไรก็ตามสามารถใช้เป็นชื่อเมธอดได้

เริ่ม ทำ ต่อไป แล้ว
สิ้นสุด อื่น ศูนย์ จริง
นามแฝง Elsif ไม่ undef
และ จบ หรือ เว้นแต่
เริ่ม ทำให้มั่นใจ ทำซ้ำ จนถึง
หยุดพัก เท็จ กู้ภัย เมื่อไหร่
กรณี สำหรับ ลองอีกครั้ง ในขณะที่
ชั้นเรียน ถ้า กลับ ในขณะที่
def ใน ตนเอง __ไฟล์__
กำหนด? โมดูล สุดยอด __ไลน์__

นี่คือเอกสารใน Ruby

"เอกสารที่นี่" หมายถึงการสร้างสตริงจากหลายบรรทัด ตาม << คุณสามารถระบุสตริงหรือตัวระบุเพื่อยุติสตริงลิเทอรัลและบรรทัดทั้งหมดที่อยู่ถัดจากบรรทัดปัจจุบันจนถึงเทอร์มิเนเตอร์คือค่าของสตริง

ถ้าเทอร์มิเนเตอร์ถูกยกมาประเภทของอัญประกาศจะกำหนดประเภทของลิเทอรัลสตริงที่เน้นบรรทัด สังเกตว่าจะต้องไม่มีช่องว่างระหว่าง << และเทอร์มิเนเตอร์

นี่คือตัวอย่างต่างๆ -

#!/usr/bin/ruby -w

print <<EOF
   This is the first way of creating
   here document ie. multiple line string.
EOF

print <<"EOF";                # same as above
   This is the second way of creating
   here document ie. multiple line string.
EOF

print <<`EOC`                 # execute commands
	echo hi there
	echo lo there
EOC

print <<"foo", <<"bar"  # you can stack them
	I said foo.
foo
	I said bar.
bar

สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -

This is the first way of creating
   her document ie. multiple line string.
   This is the second way of creating
   her document ie. multiple line string.
hi there
lo there
      I said foo.
      I said bar.

คำชี้แจงของ Ruby BEGIN

ไวยากรณ์

BEGIN {
   code
}

ประกาศรหัสที่จะเรียกก่อนที่โปรแกรมจะทำงาน

ตัวอย่าง

#!/usr/bin/ruby

puts "This is main Ruby Program"

BEGIN {
   puts "Initializing Ruby Program"
}

สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -

Initializing Ruby Program
This is main Ruby Program

คำชี้แจง Ruby END

ไวยากรณ์

END {
   code
}

ประกาศรหัสที่จะเรียกใช้ในตอนท้ายของโปรแกรม

ตัวอย่าง

#!/usr/bin/ruby

puts "This is main Ruby Program"

END {
   puts "Terminating Ruby Program"
}
BEGIN {
   puts "Initializing Ruby Program"
}

สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -

Initializing Ruby Program
This is main Ruby Program
Terminating Ruby Program

ความคิดเห็นทับทิม

ความคิดเห็นจะซ่อนบรรทัดบางส่วนของบรรทัดหรือหลายบรรทัดจากตัวแปล Ruby คุณสามารถใช้อักขระแฮช (#) ที่จุดเริ่มต้นของบรรทัด -

# I am a comment. Just ignore me.

หรือความคิดเห็นอาจอยู่ในบรรทัดเดียวกันหลังคำสั่งหรือนิพจน์ -

name = "Madisetti" # This is again comment

คุณสามารถแสดงความคิดเห็นได้หลายบรรทัดดังนี้ -

# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

นี่คืออีกรูปแบบหนึ่ง ความคิดเห็นบล็อกนี้ปกปิดหลายบรรทัดจากล่ามด้วย = begin / = end -

=begin
This is a comment.
This is a comment, too.
This is a comment, too.
I said that already.
=end