หน้าแรก
หน้าแรก
เมื่อคุณปฏิบัติต่อคอลเลกชันของคุณเป็นตัวแจงนับ คุณจะสามารถใช้ฟังก์ชันโปรดทั้งหมดของคุณ เช่น #map และ #reduce โดยไม่ต้องเขียนโค้ดเพิ่มเติมใดๆ มันสุดยอดมาก ในสมัยก่อน การกำหนดตัวแจงนับค่อนข้างยุ่งยาก คุณต้องสร้างคลาสใหม่ รวมโมดูลที่นับได้ และกำหนดฟังก์ชัน #each นับตั้งแต่ Ruby 1.9 เป็นต้นไป เรามีวิธ
Turbolinks - อาจเป็นคำที่ดูถูกเหยียดหยามที่สุดในจักรวาล Rails บางทีคุณอาจลองใช้แล้ว คุณรวมเทอร์โบลิงก์ไว้ในโปรเจ็กต์ใหม่หรือแอปที่มีอยู่ และในไม่ช้าแอพก็เริ่มล้มเหลวในลักษณะที่แปลกประหลาดและมหัศจรรย์ ยังดีที่การแก้ไขนั้นง่ายเหมือนกัน - ปิดเทอร์โบลิงก์ ...แต่บางบริษัทก็ทำได้ ที่ Honeybadger เราทำให
ฉันกำลังสร้างไซต์เอกสารของเราขึ้นใหม่โดยใช้ Jekyll เนื่องจากหน้าเอกสารของเราค่อนข้างใหญ่ เราจึงต้องมีการนำทางย่อยบางประเภทนอกเหนือจากการนำทางระดับบนสุด ในโพสต์นี้ เราจะพูดถึงวิธีสร้างปลั๊กอิน Jekyll แบบง่ายๆ ที่สามารถสร้างลิงก์การนำทางย่อยจากส่วนหัวในโพสต์หรือหน้าของคุณ ภาพรวม ฉันได้แบ่งโปรเจ็กต์น
ในโพสต์ก่อนหน้านี้ ฉันแสดงให้คุณเห็นถึงวิธีสร้างลิงก์การนำทางย่อยสำหรับ H2 แต่ละรายการในหน้า Jekyll ในโพสต์นี้ เราจะสร้างบนพื้นฐานนั้นและแสดงให้คุณเห็นว่าคุณสามารถเพิ่มระดับการนำทางย่อยตาม H3, H4 ฯลฯ ได้อย่างไร ภาพรวม ฉันได้แบ่งโปรเจ็กต์นี้ออกเป็นสองขั้นตอน: ขั้นแรก เราจะใช้ nokogiri เพื่อดึงส่วนท
หากคุณไม่เคยใช้การปรับแต่งมาก่อน คุณอาจจะแปลกใจ คุณอาจเคยได้ยินว่ามีการแนะนำการปรับแต่งเพื่อแทนที่การปะลิง ดังนั้นคุณอาจคาดหวังว่าคุณจะสามารถใช้งานบางอย่างเช่น hours . ของ ActiveSupport วิธีการ: module TimeExtension refine Fixnum do def hours self * 60 end end end class MyFramewor
หากคุณค้นหาการปรับแต่ง Ruby ใน Google โดยไม่ทราบเรื่องราวเบื้องหลัง คุณอาจคิดได้ว่าการปรับแต่งนั้นช้า ตามที่เสนอในตอนแรก การปรับแต่งจะช้า พวกเขาจะทำให้มันเป็นไปไม่ได้สำหรับล่ามเพื่อเพิ่มประสิทธิภาพสิ่งต่าง ๆ เช่นการค้นหาวิธีการ แต่การนำการปรับแต่งไปใช้จริงนั้นค่อนข้างจำกัดกว่าข้อเสนอเดิมเล็กน้อย ด
คุณลักษณะใหม่มากมายที่ Ruby 2.0 จัดส่งกลับมาในปี 2013 คุณลักษณะที่ฉันให้ความสนใจน้อยที่สุดคือ Onigmo เอ็นจิ้นนิพจน์ทั่วไปใหม่ ท้ายที่สุด นิพจน์ทั่วไปก็คือนิพจน์ทั่วไป ทำไมฉันจึงควรสนใจว่า Ruby นำไปใช้อย่างไร ตามที่ปรากฎ เอ็นจิ้น Onigmo regex มีเทคนิคเล็กๆ น้อยๆ บางอย่างรวมถึงความสามารถในการใช้เงื่อ
ฉันคิดว่าน่าจะสนุกที่จะติดตามบทความของเมื่อวานเกี่ยวกับเงื่อนไข regex โดยดูที่ลูกเล่นอื่นๆ ที่คุณสามารถทำได้ด้วยนิพจน์ทั่วไปใน ruby การแยกสตริงด้วยนิพจน์ทั่วไป คุณอาจค่อนข้างคุ้นเคยกับการแยกสตริงโดยใช้ตัวคั่นข้อความ: one,two.split(,) # => [one, two] แต่คุณรู้หรือไม่ว่าการแยกจะยอมรับนิพจน์ทั่ว
วันนี้ผมจะมาพูดถึง self . หากคุณเคยเขียนโปรแกรม Ruby มาสักระยะแล้ว คุณก็น่าจะเข้าใจแนวคิดของself . เมื่อใดก็ตามที่คุณอ่านหรือเขียนโปรแกรม self อยู่ในจิตใจของคุณ แต่สำหรับ Rubyists ที่ไม่ค่อยมีประสบการณ์ self สามารถทำให้งงงัน มีการเปลี่ยนแปลงอยู่เสมอ แต่ไม่เคยแสดงอย่างชัดเจนในโค้ด คุณแค่คาดหวังที่จ
ยิ่งคุณรู้เกี่ยวกับเครื่องมือของคุณมากเท่าไหร่ การตัดสินใจของคุณในฐานะนักพัฒนาก็จะยิ่งดีขึ้นเท่านั้น มักจะมีประโยชน์ โดยเฉพาะอย่างยิ่งเมื่อแก้ปัญหาด้านประสิทธิภาพ เพื่อทำความเข้าใจว่า Ruby กำลังทำอะไรอยู่เมื่อรันโปรแกรมของคุณ ในโพสต์นี้ เราจะติดตามการเดินทางของโปรแกรมอย่างง่าย เนื่องจากเป็น lexed แ
สิ่งหนึ่งที่ฉันชอบเกี่ยวกับ Ruby คือความลึกซึ้งของฟีเจอร์ คุณสามารถใช้โอเปอเรเตอร์ได้ แต่ลองขุดดูสักนิดแล้วคุณจะพบว่าคุณแค่ขีดข่วนพื้นผิวของสิ่งที่มันสามารถทำได้เท่านั้น ตัวดำเนินการ splat ต่ำต้อย (* และ ** ) เป็นตัวอย่างที่ดี คุณอาจเคยใช้เครื่องหมายสำหรับอาร์กิวเมนต์ จับทั้งหมด และนั่นคือสิ่งที่ค
วันนี้เราจะมาพูดถึง slice_before , slice_when และ slice_after . นี่เป็นวิธีที่มีประโยชน์มากเมื่อคุณต้องการจัดกลุ่มรายการในอาร์เรย์หรือที่นับได้อื่น ๆ ตามเกณฑ์ที่กำหนดเอง คุณคงคุ้นเคยกับ Array#slice . ช่วยให้คุณสามารถดึงชุดย่อยของอาร์เรย์ตามช่วงของดัชนีได้: a = [a, b, c] a.slice(1, 2) # => [b, c
ตัวแปรคลาสของ Ruby ทำให้เกิดความสับสน แม้แต่ผู้ใช้ Ruby ที่เชี่ยวชาญก็พบว่าพวกเขาเข้าใจยาก ตัวอย่างที่ชัดเจนที่สุดเกี่ยวกับความเฉื่อย: class Fruit @@kind = nil def self.kind @@kind end end class Apple < Fruit @@kind = apple end Apple.kind # => apple Fruit.kind # => apple
คุณทราบหรือไม่ว่าสามารถบันทึกการเรียกเมธอดทั้งหมดที่เกิดขึ้นในกระบวนการทำงานแบบเรียลไทม์ได้ วิธีการเกี่ยวกับการฉีดโค้ดที่จะดำเนินการภายในกระบวนการที่ทำงานอยู่? คุณทำได้ – ด้วยความมหัศจรรย์ของ rbtrace พลอย rbtrace อัญมณีมาพร้อมกับสองส่วน อย่างแรกคือไลบรารี่ที่คุณรวมไว้ในโค้ดที่คุณต้องการติดตาม ประกา
ฉันคิดว่าน่าจะสนุกที่จะพักจากเนื้อหาที่เป็นประโยชน์และเป็นประโยชน์เพื่อแสดงเคล็ดลับปาร์ตี้ Ruby ที่เรียบร้อย ก่อนที่ Ruby จะรันโปรแกรมของคุณ จะต้องแยกวิเคราะห์ก่อน parser เป็นเครื่องของรัฐชนิดหนึ่ง และมีแฟล็กบรรทัดคำสั่งที่ไม่ค่อยมีใครรู้จักซึ่งคุณสามารถใช้เพื่อทำให้ Ruby บันทึกทุกอย่างที่เครื่องขอ
หากต้องการเชี่ยวชาญบรรทัดคำสั่งอย่างแท้จริง คุณต้องเชี่ยวชาญโปรแกรมยูทิลิตี้ขนาดเล็กหลายสิบโปรแกรม ถ้าไม่ใช่หลายร้อยโปรแกรม แต่ละสิ่งเหล่านี้ทำสิ่งต่าง ๆ แตกต่างกันเล็กน้อย มันสามารถล้นหลามสวย โชคดีที่มันเป็นไปได้ที่จะแทนที่เครื่องมืออเนกประสงค์จำนวนมากเหล่านี้ด้วยภาษาการเขียนโปรแกรมเอนกประสงค์ เช
ฉันมีเรื่องจะสารภาพ ฉันเกลียดตัวเลขทศนิยม แน่นอนว่ามีประโยชน์หากคุณเป็นคอมพิวเตอร์ แต่ถ้าคุณเป็นมนุษย์ คุณก็จะเกาหัวในสถานการณ์เช่นนี้: 129.95 * 100 # => 12994.999999999998 สิ่งนี้ไม่เพียงแค่ต้องเผชิญกับความกลมกลืนทางคณิตศาสตร์เท่านั้น แต่ยังเป็น UX ที่แย่อีกด้วย หากสูตรบอกให้คุณตวงแป้ง 0.372
บางครั้งอาจเป็นเรื่องยากมากที่จะเข้าใจว่าเกิดอะไรขึ้นโดยมีข้อยกเว้น โดยเฉพาะในแอปขนาดใหญ่ ลองนึกภาพว่าคุณกำลังทำงานกับโค้ดบางอย่างภายในโปรเจ็กต์ที่มีอยู่ คุณยกข้อยกเว้น แล้วสิ่งแปลก ๆ ก็เกิดขึ้น บางทีข้อยกเว้นอาจกลืนกิน อาจมีการเปลี่ยนแปลงตัวแปรสภาพแวดล้อม บางทีข้อยกเว้นของคุณอาจถูกรวมไว้ในข้อยกเว้น
ไม่ใช่ข้อผิดพลาดทั้งหมดที่เป็นอันตรายถึงชีวิต บางคนแค่ระบุว่าคุณต้องลองอีกครั้ง โชคดีที่ Ruby มีกลไกที่น่าสนใจบางอย่างที่ช่วยให้ ลองอีกครั้ง ได้ง่าย แม้ว่าจะไม่ได้ชัดเจนหรือเป็นที่รู้จักทั้งหมดก็ตาม ในโพสต์นี้ เราจะมาดูกลไกเหล่านี้และวิธีการทำงานในโลกของความเป็นจริง แนะนำ retry โอเค อันนี้ค่อนข้าง
เป็นรูปแบบทั่วไปใน Ruby เพื่อช่วยเหลือและยกเว้นและเรียกข้อยกเว้นประเภทอื่นขึ้นมาใหม่ ActionView เป็นตัวอย่างที่ชัดเจนอย่างหนึ่งของเรื่องนี้ ดังที่ฉันได้กล่าวไว้ในบล็อกโพสต์ก่อนหน้านี้เกี่ยวกับ TracePoint แล้ว ActionView จะกลืนข้อยกเว้นทุกอย่างที่เกิดขึ้นในเทมเพลตของคุณและยกขึ้นใหม่เป็น ActionView::T