นี่คือทับทิม การอ้างอิงไวยากรณ์ .
การเรียนรู้ 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 ได้! ทบทวนสิ่งเหล่านี้บ่อยๆ จนกระทั่งมันฝังอยู่ในสมองของคุณ
คุณยังอาจชอบรายการชื่อสามัญสำหรับองค์ประกอบทางไวยากรณ์นี้
ขอบคุณที่อ่าน. 🙂