คำถามติดแท็ก ruby

Ruby เป็นหลายภาษาแพลตฟอร์มตีความโอเพ่นซอร์สเชิงวัตถุแบบไดนามิกที่สร้างขึ้นโดย Yukihiro Matsumoto (Matz) ในปี 1995 แท็ก [ruby] สำหรับคำถามที่เกี่ยวข้องกับภาษา Ruby รวมถึงไวยากรณ์และห้องสมุดของมัน ควรติดแท็กคำถาม Ruby on Rails ด้วย [ruby-on-rails]


6
จะสร้างไดเรกทอรีซ้ำในทับทิมได้อย่างไร?
ฉันต้องการจัดเก็บไฟล์เป็น /a/b/c/d.txt แต่ฉันไม่รู้ว่ามีไดเรกทอรีเหล่านี้อยู่หรือไม่และจำเป็นต้องสร้างซ้ำหากจำเป็น ทับทิมทำแบบนี้ได้อย่างไร?
101 ruby 

2
ทำไมเราถึงต้องการเส้นใย
สำหรับ Fibers เรามีตัวอย่างคลาสสิก: การสร้างตัวเลข Fibonacci fib = Fiber.new do x, y = 0, 1 loop do Fiber.yield y x,y = y,x+y end end ทำไมเราถึงต้องการเส้นใยที่นี่? ฉันสามารถเขียนสิ่งนี้ใหม่ได้ด้วย Proc เดียวกัน (จริงๆแล้วการปิด) def clsr x, y = 0, 1 Proc.new do x, y = y, x + y x end end ดังนั้น 10.times { …
101 ruby  lambda  closures  fibers  proc 

7
หากต้องการเปลี่ยนไดเร็กทอรีภายในสคริปต์ Ruby?
ฉันต้องการสร้างแอปพลิเคชั่นรางใหม่และเปิดเซิร์ฟเวอร์รางสำหรับแอปพลิเคชันนั้นทุกอย่างตั้งแต่สคริปต์ทับทิม รหัสของฉันมีลักษณะดังนี้: #!/usr/bin/env ruby system "rails new my_app" system "cd my_app" system "rails server &" อย่างไรก็ตามเมื่อเรียกใช้ "เซิร์ฟเวอร์ราง &" เส้นทางไม่ได้อยู่ในโฟลเดอร์ my_app แต่อยู่ในโฟลเดอร์หลัก มีวิธีเปลี่ยนไดเร็กทอรีภายในสคริปต์เพื่อให้ฉันสามารถเรียกใช้ "เซิร์ฟเวอร์ราง" "คราดเกี่ยวกับ" และ "คราด db: migrate" สำหรับแอปพลิเคชันใหม่นั้นได้หรือไม่ การหลีกเลี่ยงเคล็ดลับทั้งหมดจะได้รับการชื่นชม

13
ActiveRecord.find (array_of_ids) รักษาการสั่งซื้อ
เมื่อคุณทำSomething.find(array_of_ids)ใน Rails, array_of_idsสั่งซื้อสินค้าของอาร์เรย์ที่เกิดขึ้นไม่ได้ขึ้นอยู่กับคำสั่งของ มีวิธีใดในการค้นหาและรักษาคำสั่งซื้อหรือไม่? ATM ฉันจัดเรียงระเบียนด้วยตนเองตามลำดับของ ID แต่นั่นเป็นเรื่องง่อย UPD: ถ้าเป็นไปได้ที่จะระบุคำสั่งโดยใช้:orderพารามิเตอร์และส่วนคำสั่ง SQL บางประเภทแล้วจะทำอย่างไร?

8
แปลง String เป็น DateTime
ฉันต้องการแยกวิเคราะห์ String ต่อไปนี้เป็น DateTime Object: 30/Nov/2009:16:29:30 +0100 มีวิธีง่ายๆในการทำเช่นนี้หรือไม่? PS:ฉันต้องการแปลงสตริงด้านบนตามที่เป็นอยู่ ลำไส้ใหญ่หลังปีไม่ใช่การพิมพ์ผิด ฉันยังต้องการแก้ปัญหาด้วย Ruby ไม่ใช่ RoR
101 ruby  date  time  parsing 

8
ฉันจะพิมพ์เนื้อหาของออบเจ็กต์ใน Rails ได้อย่างไรเพื่อให้ง่ายต่อการดีบั๊ก
ฉันคิดว่าฉันกำลังพยายามทำให้ PHP เทียบเท่าprint_r()(พิมพ์ที่มนุษย์อ่านได้); ในปัจจุบันผลลัพธ์ดิบคือ: ActiveRecord::Relation:0x10355d1c0 ฉันควรทำอย่างไรดี?

10
อะไรคือสิ่งที่ตรงกันข้ามกับ chr () ใน Ruby?
ในหลายภาษามีคู่ของฟังก์ชั่นchr()และord()ซึ่งแปลงระหว่างตัวเลขและตัวอักษรค่า ในบางภาษาที่เรียกว่าord()asc() Ruby มีInteger#chrซึ่งใช้งานได้ดี: >> 65.chr A พอใช้. แต่คุณจะไปทางอื่นได้อย่างไร? "A".each_byte do |byte| puts byte end พิมพ์: 65 และนั่นก็ค่อนข้างใกล้เคียงกับที่ฉันต้องการ แต่ฉันอยากจะหลีกเลี่ยงการวนซ้ำจริงๆ - ฉันกำลังมองหาสิ่งที่สั้นพอที่จะอ่านได้เมื่อประกาศกconst.
100 ruby  ascii 

10
ฉันจะใช้เวลาที่ผ่านไปในหน่วยมิลลิวินาทีใน Ruby ได้อย่างไร?
หากฉันมีTimeวัตถุที่ได้รับจาก: Time.now และต่อมาฉันก็สร้างอินสแตนซ์ออบเจ็กต์อื่นด้วยบรรทัดเดียวกันฉันจะดูได้อย่างไรว่าผ่านไปกี่มิลลิวินาทีแล้ว? วัตถุชิ้นที่สองอาจถูกสร้างขึ้นในนาทีเดียวกันในนาทีถัดไปหรือหลายชั่วโมง
100 ruby 


7
วิธีที่เร็วที่สุดในการตรวจสอบว่าสตริงตรงกับ regexp ในทับทิมหรือไม่?
วิธีใดที่เร็วที่สุดในการตรวจสอบว่าสตริงตรงกับนิพจน์ทั่วไปใน Ruby หรือไม่ ปัญหาของฉันคือฉันต้อง "egrep" ผ่านรายการสตริงจำนวนมากเพื่อค้นหาว่าสตริงใดที่ตรงกับ regexp ที่กำหนดให้ในรันไทม์ ฉันสนใจแค่ว่าสตริงตรงกับ regexp ไม่ใช่ที่ที่ตรงกันหรือเนื้อหาของกลุ่มที่ตรงกันคืออะไร ฉันหวังว่าสมมติฐานนี้จะสามารถใช้เพื่อลดระยะเวลาที่รหัสของฉันใช้ในการจับคู่ regexps ฉันโหลด regexp ด้วย pattern = Regexp.new(ptx).freeze ฉันพบว่าstring =~ patternเร็วกว่าstring.match(pattern). มีเทคนิคหรือทางลัดอื่น ๆ ที่สามารถใช้เพื่อทำให้การทดสอบนี้เร็วขึ้นหรือไม่?
100 ruby  regex  performance 

1
rspec 3 - ทำลายเมธอดคลาส
ฉันกำลังอัปเกรดจาก rspec 2.99 เป็น rspec 3.0.3 และได้แปลงวิธีการใช้อินสแตนซ์allow_any_instance_ofแล้ว แต่ยังไม่ได้หาวิธีที่จะทำให้เมธอดคลาสแตก ฉันมีรหัสดังนี้: module MyMod class Utils def self.find_x(myarg) # Stuff end end end และการทดสอบ rspec 2 ของฉันทำสิ่งนี้: MyMod::Utils.stub(:find_x).and_return({something: 'testing'}) Rspec 3 คืออะไรในการทำสิ่งนี้?


5
จุดประสงค์ของ“!” คืออะไร และ“?” ท้ายชื่อเมธอด?
บางครั้งฉันเห็นวิธีการใน Ruby ที่มี "?" และ "!" ในตอนท้ายของพวกเขาเช่น: name = "sample_string" name.reverse name.reverse! name.is_binary_data? ฉันสงสัยว่าจุดประสงค์ของพวกเขาคืออะไร? พวกเขาเป็นเพียงการเคลือบน้ำตาลแบบวากยสัมพันธ์หรือไม่?

1
Hash Rocket เลิกใช้งานแล้วหรือยัง
โพสต์จรวด RIP Hash ที่อ้างถึงอย่างดีดูเหมือนจะบ่งบอกถึงไวยากรณ์ Hash Rocket ( :foo => "bar") นั้นเลิกใช้แล้วเนื่องจากแฮชสไตล์ JSON แบบใหม่เป็น Ruby ( foo: "bar") แต่ฉันไม่พบการอ้างอิงที่ชัดเจนใด ๆ ที่ระบุแบบฟอร์ม Hash Rocket เลิกใช้งานจริง / ไม่ได้รับการแก้ไขเมื่อ Ruby 1.9

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.