Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby

การอ้างอิงไวยากรณ์ทับทิมสำหรับผู้เริ่มต้น

นี่คือทับทิม การอ้างอิงไวยากรณ์ .

การเรียนรู้ Ruby สามารถทำให้คุณจำทุกอย่างได้อย่างล้นหลาม

นั่นเป็นเหตุผลที่ฉันรวบรวมการอ้างอิงไวยากรณ์ สำหรับคุณ!

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

ขอให้สนุก!

สารบัญ

  • 1 สตริง
  • 2 แฮช
  • 3 สัญลักษณ์
  • 4 ไม่มี
  • 5 อาร์เรย์
  • 6 นับได้
  • 7 ไฟล์
  • 8 นิพจน์ทั่วไป
  • 9 Ruby Gems &Bundler
  • 10 คลาส &การเขียนโปรแกรมเชิงวัตถุ
  • 11 ประเภทของตัวแปร
  • 12 %w, %i, %q, %r, %x
  • 13 การใช้วงเล็บ
  • 14 ตัวอย่าง
    • 14.1 นิยามเมธอด
    • 14.2 คำจำกัดความของคลาส
    • 14.3 โอเปอเรเตอร์สามส่วน
    • 14.4 การแก้ไขสตริง
    • 14.5 แต่ละอันมีบล็อก
    • 14.6 ถ้า / อื่น
    • 14.7 คำชี้แจงกรณี
  • 15 สรุป
    • 15.1 ที่เกี่ยวข้อง

สตริง

สตริงคือลำดับของอักขระภายในเครื่องหมายคำพูดสองเครื่องหมาย ("" ). ใช้เพื่อแสดงข้อความและข้อมูล

ตัวอย่างไวยากรณ์ :

"I like chocolate"

อีกทางเลือกหนึ่งคือการใช้เครื่องหมายอัญประกาศเดี่ยว ('' )

'Ruby is awesome'

วิธีการที่สำคัญ :

  • ขนาด
  • ว่างไหม
  • รวม?
  • gsub
  • แยก

วิธีการเพิ่มเติม :

https://www.rubyguides.com/2018/01/ruby-string-methods/

แฮช

แฮช ({} ) เป็นคู่คีย์-ค่า (a => b ) โครงสร้างข้อมูล. ใช้เป็นพจนานุกรม คุณสามารถเข้าถึงองค์ประกอบแฮชได้โดยใช้คีย์ กุญแจมีเอกลักษณ์เฉพาะตัว

ตัวอย่าง :

# Create
h = { a: 1, b: 2, c: 3 }

# Access
h[:a]

# Set
h[:test] = 10

ขอให้สังเกตว่าแฮชใหม่ถูกสร้างขึ้นโดยใช้ {} ไวยากรณ์ (วงเล็บปีกกา) แต่คุณมักจะเข้าถึงองค์ประกอบแฮชด้วย [] (วงเล็บเหลี่ยม)

สิ่งง่ายๆ นี้สร้างความสับสนให้กับผู้เริ่มต้นจำนวนมาก ดังนั้นโปรดจำไว้

แฮชด้วยคีย์สตริง :

h = { "a" => 1, "b" => 2, "c" => 3 }

วิธีการที่สำคัญ :

  • คีย์?
  • ดึงข้อมูล
  • ใหม่ (สำหรับค่าเริ่มต้น)
  • ผสาน

วิธีการเพิ่มเติม :

https://www.rubyguides.com/2020/05/ruby-hash-methods/

สัญลักษณ์

สตริงสแตติกที่ใช้สำหรับการระบุตัวตน ตัวอย่างหนึ่งที่พบบ่อยคือคีย์แฮช โดยขึ้นต้นด้วยโคลอนเสมอ (:bacon ). ห้ามใช้สัญลักษณ์สำหรับเนื้อหา (อักขระแต่ละตัว)

เมื่อใช้ในวงเล็บแฮช ({} ) ด้านข้างของโคลอนกลับด้าน

ตัวอย่าง :

{ abc: 1 }

นี่คือสัญลักษณ์ :abc .

เรียนรู้เพิ่มเติม :

https://www.rubyguides.com/2018/02/ruby-symbols/

ไม่มี

คลาสซิงเกิลตัน (อนุญาตเพียงหนึ่งอ็อบเจ็กต์) ที่แสดงค่าเริ่มต้นหรือประเภท "ไม่พบ"

ประเมินว่าเป็น "เท็จ" ในบริบทแบบมีเงื่อนไข

เรียนรู้เพิ่มเติม :

  • https://www.rubyguides.com/2018/01/ruby-nil/
  • https://www.rubyguides.com/2019/02/ruby-booleans/

อาร์เรย์

ออบเจ็กต์ที่ใช้แทนรายการออบเจ็กต์ อาร์เรย์สามารถมีวัตถุชนิดใดก็ได้ (a = [1, "abc", []] ) รวมถึงอาร์เรย์อื่นๆ

คุณเข้าถึงองค์ประกอบอาร์เรย์ด้วยดัชนี (a[0] ) &อาร์เรย์ที่ซ้อนกันด้วย a[0][0] .

ตัวอย่าง :

a = []

a << 10
a << 20
a << 30

a
# [10, 20, 30]

วิธีการที่สำคัญ :

  • ขนาด
  • ว่างไหม
  • ดัน / ป๊อป
  • เข้าร่วม
  • แผ่ออก

วิธีการเพิ่มเติม :

https://ruby-doc.org/core-2.6.4/Array.html

นับได้

โมดูล Ruby ใช้เพื่อวนซ้ำองค์ประกอบของคลาสใดๆ ที่ใช้ each เมธอด เช่น Array, Range &Hash

วิธีการที่สำคัญ :

  • แผนที่
  • เลือก
  • ฉีด

เพิ่มเติม :

คู่มือพื้นฐานสำหรับ Ruby Enumerable Module (+ วิธีโปรดของฉัน)

ไฟล์

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

ตัวอย่าง :

File.read("/tmp/test.txt")

วิธีการที่สำคัญ :

  • อ่าน
  • เขียน

เพิ่มเติม :

https://www.rubyguides.com/2015/05/working-with-files-ruby/

นิพจน์ทั่วไป

หากคุณต้องการค้นหารูปแบบ สตริงย่อย หรือสิ่งที่เฉพาะเจาะจงภายในสตริง นิพจน์ทั่วไปอาจเป็นสิ่งที่คุณกำลังมองหา

สามารถใช้เพื่อตรวจสอบที่อยู่อีเมลและหมายเลขโทรศัพท์ หรือดึงข้อมูลจากข้อความ

ตัวอย่าง :

"aaaa1".match?(/[0-9]/)
# true

"".match?(/[0-9]/)
# false

เรียนรู้เพิ่มเติม :

https://www.rubyguides.com/2015/06/ruby-regex/

อัญมณีทับทิม &ผู้มัด

Ruby gem คือแพ็คเกจที่คุณสามารถดาวน์โหลดเพื่อใช้ในโปรแกรม Ruby ของคุณ

แพ็คเกจเหล่านี้มอบฟังก์ชันใหม่ให้คุณ

ตัวอย่างเช่น ใน Rails คุณสามารถเพิ่มการรับรองความถูกต้องด้วย Devise gem หรือการแบ่งหน้าด้วย Kaminari gem ได้อย่างง่ายดาย

เรียนรู้เพิ่มเติม :

https://www.rubyguides.com/2018/09/ruby-gems-gemfiles-bundler/

คลาสและการเขียนโปรแกรมเชิงวัตถุ

Ruby เป็นภาษาการเขียนโปรแกรมเชิงวัตถุ เราคิดว่าทุกอย่างเป็นวัตถุ วัตถุถูกสร้างขึ้นจากพิมพ์เขียว ชั้นเรียน

วัตถุสามารถรู้สิ่งต่าง ๆ และทำสิ่งต่าง ๆ คุณบอกให้วัตถุทำสิ่งต่าง ๆ ด้วยวิธีการ

วิธีการที่สำคัญ :

  • คลาส
  • รวม / ขยาย

เรียนรู้เพิ่มเติม :

  • https://www.rubyguides.com/2019/02/ruby-class/
  • https://www.youtube.com/watch?v=LuTTUNnSj6o&list=PL6Eq_d2HYExeKIi4d9rUEoD6qSiKS4vfe&index=2

ประเภทของตัวแปร

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

ตัวอย่าง :

a = 1

เราใช้ตัวแปรประเภทต่างๆ ใน ​​Ruby

นี่คือรายการ :

  • ตัวแปรท้องถิ่น (something )
  • ตัวแปรอินสแตนซ์ (@something )
  • ค่าคงที่ (something / something )
  • ตัวแปรส่วนกลาง ($something )

ความแตกต่างที่สำคัญคือจากตำแหน่งที่คุณสามารถเข้าถึงได้

%w, %i, %q, %r, %x

มีวิธีสร้างอ็อบเจ็กต์ที่มีรูปแบบพิเศษ คือ สัญลักษณ์เปอร์เซ็นต์ (% ). นี่เป็นทางลัดที่สามารถช่วยคุณทำงาน .

หากคุณเห็น %w ใน Ruby ตอนนี้คุณจะรู้ว่ามันหมายถึงอะไร!

ตัวอย่าง :

array_of_strings = %w(apple orange coconut)
array_of_symbols = %i(a b c)

string = %q(things)

regular_expression = %r([0-9])
  • %w - สร้างอาร์เรย์ของสตริง
  • %i - สร้างอาร์เรย์ของสัญลักษณ์
  • %q - สร้างสตริงโดยไม่ต้องใช้เครื่องหมายคำพูด

โปรดจำไว้ว่าสัญลักษณ์เปอร์เซ็นต์ (% ) ยังใช้เป็นตัวดำเนินการทางคณิตศาสตร์แบบโมดูโลอีกด้วย

การใช้วงเล็บ

ไม่จำเป็นต้องใช้วงเล็บและอัฒภาคใน Ruby แต่สามารถใช้ได้

กฎพื้นฐานบางอย่าง :

  • อย่าใช้วงเล็บเมื่อกำหนดเมธอดที่ไม่มีอาร์กิวเมนต์ => def foo
  • ใช้วงเล็บที่มีอาร์กิวเมนต์ของเมธอด => def foo(a, b, c)
  • ใช้วงเล็บเมื่อคุณต้องการเปลี่ยนลำดับความสำคัญหรือลำดับความสำคัญของการดำเนินการ => (a.size + b.size) * 2

ความสามารถในการอ่านคือการใช้วงเล็บหนึ่งขณะที่เปลี่ยนลำดับการดำเนินการเป็นอีกอย่างหนึ่ง

ตัวอย่าง

ตัวอย่างไวยากรณ์ Ruby ทั่วไป

คำจำกัดความของวิธีการ

def backup_database
  # method body
end

เพิ่มเติมเกี่ยวกับวิธีการ :

  • https://www.rubyguides.com/2018/06/rubys-method-arguments/
  • https://www.rubyguides.com/2019/06/ruby-method-definition/

คำจำกัดความของคลาส

class Fruit
  # methods
end

เพิ่มเติมเกี่ยวกับชั้นเรียน :

  • https://www.rubyguides.com/2019/02/ruby-class/
  • https://www.rubyguides.com/2019/01/what-is-inheritance-in-ruby/

โอเปอเรเตอร์แบบสามส่วน

true ? "yes" : "no"

การแก้ไขสตริง

fruit = "orange"

puts "I have an #{fruit}. Would you like a slice of it?"

เพิ่มเติมเกี่ยวกับการแก้ไข :

  • https://www.rubyguides.com/2019/07/ruby-string-concatenation/

แต่ละอันมีบล็อก

[1,2,3].each do |n|
  puts n
end

ถ้า / อื่น

n = 20

if n > 1
  puts "Greater than 1"
else
  puts "Less than 1"
end

คำชี้แจงกรณี

case 20
when 1..20
  puts "Between 1 & 20"
when 21..40
  puts "Between 21 & 40"
else
  puts "Not within a valid range"
end

โดยที่ 1..20 เป็น Range วัตถุ

สรุป

คุณได้เรียนรู้พื้นฐานของไวยากรณ์ Ruby เพื่อให้คุณสามารถเขียนโปรแกรม Ruby ได้! ทบทวนสิ่งเหล่านี้บ่อยๆ จนกระทั่งมันฝังอยู่ในสมองของคุณ

คุณยังอาจชอบรายการชื่อสามัญสำหรับองค์ประกอบทางไวยากรณ์นี้

ขอบคุณที่อ่าน. 🙂