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

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

2
ทับทิมแปลงอาร์เรย์เป็นอาร์กิวเมนต์ของฟังก์ชัน
สมมติว่าฉันมีอาร์เรย์ ฉันต้องการส่งอาร์เรย์ไปยังฟังก์ชัน อย่างไรก็ตามฟังก์ชันคาดว่าจะมีสองอาร์กิวเมนต์ มีวิธีแปลงอาร์เรย์เป็น 2 อาร์กิวเมนต์ได้ทันทีหรือไม่? ตัวอย่างเช่น: a = [0,1,2,3,4] b = [2,3] a.slice(b) จะทำให้เกิดข้อผิดพลาดใน Ruby ฉันต้องการที่จะป้อนข้อมูลa.slice(b[0],b[1])ฉันกำลังมองหาสิ่งที่หรูหรากว่านี้เช่นในa.slice(foo.bar(b)) ขอบคุณ


6
Rails วิธีเรียกใช้งานคราด
ฉันจะเรียกใช้ไฟล์คราดนี้ในเทอร์มินัล / คอนโซลได้อย่างไร statistik.rake ของฉันใน lib / งาน desc "Importer statistikker" namespace :reklamer do task :iqmedier => :environment do ... end task :euroads => :environment do ... end task :mikkelsen => :environment do ... end task :orville => :environment do ... end end

5
ย้อนกลับนัดแรกของ Ruby regex
ฉันกำลังมองหาวิธีทำการจับคู่ regex กับสตริงใน Ruby และทำให้มันลัดวงจรในนัดแรก สตริงที่ฉันกำลังประมวลผลนั้นยาวและดูเหมือนว่าวิธีมาตรฐาน ( matchวิธีการ) จะประมวลผลสิ่งทั้งหมดรวบรวมการแข่งขันแต่ละรายการและส่งคืนวัตถุ MatchData ที่มีรายการที่ตรงกันทั้งหมด match = string.match(/regex/)[0].to_s
97 ruby  regex  string 


7
Ruby: การรวมตัวแปรเข้ากับสตริง
ฉันกำลังมองหาวิธีที่ดีกว่าในการรวมตัวแปรเป็นสตริงใน Ruby ตัวอย่างเช่นถ้าสตริงเป็นดังนี้: "การ"animal actionsecond_animal และฉันมีตัวแปรสำหรับanimal, actionและsecond_animalสิ่งที่เป็นวิธีที่ต้องการที่จะนำผู้ที่อยู่ในตัวแปรสตริง?
97 ruby  string 

14
ใน Ruby มีเมธอด Array ที่รวม 'select' และ 'map' หรือไม่?
ฉันมีอาร์เรย์ Ruby ที่มีค่าสตริงบางค่า ฉันจำเป็นต้อง: ค้นหาองค์ประกอบทั้งหมดที่ตรงกับเพรดิเคตบางส่วน เรียกใช้องค์ประกอบที่ตรงกันผ่านการเปลี่ยนแปลง ส่งคืนผลลัพธ์เป็นอาร์เรย์ ตอนนี้โซลูชันของฉันมีลักษณะดังนี้: def example matchingLines = @lines.select{ |line| ... } results = matchingLines.map{ |line| ... } return results.uniq.sort end มีวิธี Array หรือ Enumerable ที่รวมการเลือกและแมปเป็นคำสั่งเชิงตรรกะเดียวหรือไม่?
97 ruby 

3
อะไรคือความแตกต่างระหว่างวิธีการสร้างและการสร้างใน FactoryGirl?
บทนำของ Factory Girl จะอธิบายความแตกต่างระหว่างFactoryGirl.build()และFactoryGirl.create(): # Returns a User instance that's not saved user = FactoryGirl.build(:user) # Returns a saved User instance user = FactoryGirl.create(:user) ฉันยังไม่เข้าใจความแตกต่างในทางปฏิบัติระหว่างทั้งสอง ใครช่วยยกตัวอย่างที่คุณต้องการใช้ไม่ใช่อีกแบบ ขอบคุณ!
97 ruby  factory-bot 

4
การสืบทอดเมธอดคลาสจากโมดูล / มิกซ์อินใน Ruby
เป็นที่ทราบกันดีว่าใน Ruby เมธอดคลาสได้รับการสืบทอด: class P def self.mm; puts 'abc' end end class Q < P; end Q.mm # works อย่างไรก็ตามเป็นเรื่องที่น่าแปลกใจสำหรับฉันที่มันใช้ไม่ได้กับมิกซ์อิน: module M def self.mm; puts 'mixin' end end class N; include M end M.mm # works N.mm # does not work! ฉันรู้ว่าวิธี #extend สามารถทำได้: module X; def mm; puts 'extender' …
97 ruby  mixins 

4
Ruby Metaprogramming: ชื่อตัวแปรอินสแตนซ์แบบไดนามิก
สมมติว่าฉันมีแฮชต่อไปนี้: { :foo => 'bar', :baz => 'qux' } ฉันจะตั้งค่าคีย์และค่าแบบไดนามิกให้กลายเป็นตัวแปรอินสแตนซ์ในออบเจ็กต์ได้อย่างไร ... class Example def initialize( hash ) ... magic happens here... end end ... ดังนั้นฉันจึงจบลงด้วยสิ่งต่อไปนี้ในโมเดล ... @foo = 'bar' @baz = 'qux' เหรอ?


6
วิธีรับ rspec-2 เพื่อให้การติดตามทั้งหมดที่เกี่ยวข้องกับความล้มเหลวในการทดสอบ
ตอนนี้ถ้าฉันเรียกใช้ชุดทดสอบโดยใช้ไฟล์ rake specฉันได้รับข้อผิดพลาด: 1) SegmentController GET 'index' ควรใช้งานได้ ความล้มเหลว / ข้อผิดพลาด: รับ 'ดัชนี' วิธีการที่ไม่ได้กำหนด `` locale 'สำหรับ # # ./spec/controllers/se segment_controller_spec.rb:14: ใน `` บล็อก (3 ระดับ) ใน ' นี่เป็นเรื่องปกติเนื่องจากฉันมีข้อผิดพลาด :) ปัญหาคือการติดตามไม่เป็นประโยชน์มากนัก ฉันรู้ว่ามันพังในsegments_controller_spec.rbบรรทัดที่ 14 แต่นี่คือที่ที่ฉันเรียกการทดสอบ: ### segments_controller_spec.rb:14 get 'index' ฉันต้องการให้มีการแตกบรรทัดจริงและการติดตามทั้งหมดไม่ใช่ส่วนในโฟลเดอร์ข้อมูลจำเพาะ วิ่งไปด้วย--traceไม่ช่วยอะไร

5
วิธีใช้ส่วนขยายหลักของ Active Support
ฉันติดตั้ง Active Support 3.0.3 และ Rails 3.0.3 พร้อม Ruby 1.8.7 เมื่อลองใช้1.week.agoแล้วจะได้รับ NoMethodError: undefined method 'week' for 1:Fixnum from (irb):2 ส่วนขยายหลักอื่น ๆ ดูเหมือนจะใช้งานได้ ฉันลองใช้บนคอมพิวเตอร์ของเพื่อน (ข้อกำหนดการติดตั้งเดียวกันและเวอร์ชันเดิมอยู่ในเครื่องของเขา) โดยได้ผลลัพธ์เหมือนกัน สิ่งที่ช่วยให้? ทั้งหมดนี้อยู่ใน IRB

6
แปลง UTC เป็นเวลาท้องถิ่นใน Rails 3
ฉันมีปัญหาในการแปลง UTC TimeหรือTimeWithZoneเวลาท้องถิ่นใน Rails 3 บอกว่าmomentเป็นTimeตัวแปรบางตัวใน UTC (เช่นmoment = Time.now.utc) ฉันจะแปลงmomentเป็นเขตเวลาของฉันโดยดูแล DST ได้อย่างไร (เช่นใช้ EST / EDT) อย่างแม่นยำยิ่งขึ้นฉันต้องการพิมพ์ "วันจันทร์ที่ 14 มีนาคม 9.00 น." หากเวลาตรงกับเช้าวันนี้ 9.00 น. EDT และ "วันจันทร์ที่ 7 มีนาคม 9.00 น." หากเวลาคือ 9.00 น. EST ของวันจันทร์ที่ผ่านมา หวังว่าจะมีวิธีอื่น? แก้ไข : ก่อนอื่นฉันคิดว่า "EDT" ควรเป็นเขตเวลาที่รู้จัก แต่ "EDT" ไม่ใช่เขตเวลาจริงคล้ายกับสถานะของเขตเวลามากกว่า ยกตัวอย่างเช่นมันจะไม่ทำให้รู้สึกใด ๆ Time.utc(2011,1,1).in_time_zone("EDT")ที่จะขอ …

7
การเพิ่มไดเร็กทอรีไปที่ $ LOAD_PATH (Ruby)
ฉันได้เห็นสองเทคนิคที่ใช้กันทั่วไปในการเพิ่มไดเร็กทอรีของไฟล์ที่กำลังดำเนินการอยู่ใน $ LOAD_PATH (หรือ $ :) ฉันเห็นข้อดีของการทำเช่นนี้ในกรณีที่คุณไม่ได้ทำงานกับอัญมณี เห็นได้ชัดว่าคนหนึ่งดูละเอียดกว่าอีกคนหนึ่ง แต่มีเหตุผลที่จะไปกับอีกคนหนึ่งหรือไม่? วิธีแรก verbose (อาจ overkill): $LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__))) unless $LOAD_PATH.include?(File.expand_path(File.dirname(__FILE__))) และตรงไปตรงมารวดเร็วและสกปรกมากขึ้น: $:.unshift File.dirname(__FILE__) มีเหตุผลอะไรที่จะไปกับคนอื่น?

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