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

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

5
RVM ไม่ทำงานใน ZSH
ฉันอยากจะลองใช้ ZSH shell บน Mac ของฉัน แต่ฉันก็พัฒนา Ruby and Rails หลายอย่างด้วยดังนั้นฉันจึงใช้ RVM ไม่น้อยเช่นกัน ปัญหาคือดูเหมือนว่าฉันจะไม่สามารถให้ RVM ทำงานใน ZSH ได้และมันก็ทำงานได้ดีใน Bash shell เริ่มต้น: > zsh > rvm 1.9.2 > ruby -v ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0] > which ruby /usr/bin/ruby ฉันสามารถยืนยันได้อย่างแน่นอนว่ามีการติดตั้ง RVM เช่นเดียวกับทับทิม 1.9.2 ภายใต้ RVM ฉันใช้มันตลอดเวลาใน Bash การรันrvm listใน ZSH …
96 ruby  macos  rvm  zsh 


10
วิธีการส่วนตัวใน Ruby?
บล็อกหรือบทแนะนำหรือหนังสือส่วนใหญ่มีวิธีการส่วนตัวที่ด้านล่างของชั้นเรียน / โมดูลใด ๆ นี่เป็นแนวทางปฏิบัติที่ดีที่สุดหรือไม่? ฉันพบว่ามีวิธีการส่วนตัวที่สะดวกกว่าและเมื่อจำเป็น ตัวอย่างเช่น: public def my_method # do something minion_method end private def minion_method # do something end public def next_method end ด้วยวิธีนี้ฉันพบว่าโค้ดอ่านได้ง่ายขึ้นแทนที่จะเลื่อนขึ้นลงอย่างต่อเนื่องซึ่งน่ารำคาญมาก วิธีนี้มีอะไรผิดพลาดอย่างร้ายแรงหรือไม่? การมีวิธีการส่วนตัวที่ด้านล่างไม่ใช่แค่แนวทางปฏิบัติที่ดีที่สุดและอย่างอื่นหรือไม่?
95 ruby  conventions 


4
การผลักดันแอปไปยังปัญหา heroku
ฉันพยายามดันแอปไปที่ heroku และได้รับข้อความต่อไปนี้: $ heroku create Creating electric-meadow-15..... done Created http://electric-meadow-15.heroku.com/ | git@heroku.com:electric-meadow-1 5.git $ git push heroku master ! No such app as fierce-fog-63 fatal: The remote end hung up unexpectedly มันแปลกที่ตอนนี้ฉันได้รับสิ่งนี้ฉันได้ผลักดันแอปไปที่ heroku หลายครั้งโดยไม่มีปัญหา สิ่งที่แปลกเป็นพิเศษfierce-fog-63คือเป็นแอพเก่าที่ฉันสร้างและลบไปเมื่อนานมาแล้ว ทำไมตอนนี้ heroku ถึงพยายามผลักดันให้แอปนี้ไม่มีอยู่แล้วโดยเฉพาะอย่างยิ่งเมื่อฉันสร้างใหม่ ข้อเสนอแนะใด ๆ ?

2
Rails Console: โหลดใหม่! ไม่สะท้อนการเปลี่ยนแปลงในไฟล์โมเดล? สาเหตุที่เป็นไปได้คืออะไร?
ก่อนหน้านี้ใช้งานได้ดี ฉันเล่น config นิดหน่อย ดังนั้นฉันอาจเปลี่ยน config บางอย่างโดยไม่รู้ตัว นี่คือ config ของ environment / development.rb config.cache_classes = false # Log error messages when you accidentally call methods on nil. config.whiny_nils = true # Show full error reports and disable caching config.consider_all_requests_local = true config.action_view.debug_rjs = true config.action_controller.perform_caching = false # Don't care …


4
คลาสข้อผิดพลาดที่กำหนดเองของ Ruby: การสืบทอดแอตทริบิวต์ข้อความ
ดูเหมือนจะหาข้อมูลเกี่ยวกับคลาสข้อยกเว้นแบบกำหนดเองไม่ได้มากนัก สิ่งที่ฉันรู้ คุณสามารถประกาศคลาสข้อผิดพลาดที่กำหนดเองและปล่อยให้สืบทอดจากStandardErrorดังนั้นจึงเป็นrescued: class MyCustomError < StandardError end สิ่งนี้ช่วยให้คุณสามารถเพิ่มได้โดยใช้: raise MyCustomError, "A message" และรับข้อความนั้นในภายหลังเมื่อช่วยชีวิต rescue MyCustomError => e puts e.message # => "A message" อะไรไม่รู้ ฉันต้องการยกเว้นฟิลด์ที่กำหนดเองของฉัน แต่ฉันต้องการสืบทอดmessageแอตทริบิวต์จากคลาสแม่ ผมพบว่าการอ่านในหัวข้อนี้ที่@messageไม่ได้เป็นตัวแปรเช่นการเรียนการยกเว้นดังนั้นฉันกังวลว่ามรดกของฉันจะไม่ทำงาน ใครสามารถให้รายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้ได้หรือไม่? ฉันจะใช้คลาสข้อผิดพลาดที่กำหนดเองกับobjectแอตทริบิวต์ได้อย่างไร ถูกต้องดังต่อไปนี้: class MyCustomError < StandardError attr_reader :object def initialize(message, object) super(message) @object = object end end แล้ว: raise MyCustomError.new(anObject), "A …


8
ให้บริการไดเรกทอรีปัจจุบันจากบรรทัดคำสั่ง
ใครช่วยให้คำแนะนำวิธีการให้บริการไดเรกทอรีปัจจุบันจากบรรทัดคำสั่งด้วยทับทิม มันจะดีมากถ้าฉันสามารถกำหนดค่าทั้งระบบได้ (เช่นประเภทละครใบ้) และเปิดใช้งานจากทุกไดเร็กทอรี

4
วิธีเปิดไฟล์ที่สัมพันธ์กับโฮมไดเร็กทอรี
สิ่งต่อไปนี้ล้มเหลวErrno::ENOENT: No such file or directoryแม้ว่าไฟล์จะมีอยู่: open('~/some_file') อย่างไรก็ตามฉันสามารถทำได้: open(File.expand_path('~/some_file')) ฉันมีคำถามสองข้อ: เหตุใดจึงไม่openประมวลผลเครื่องหมายทิลเดอร์ให้ชี้ไปที่โฮมไดเร็กทอรี มีวิธีที่ลื่นกว่าFile.expand_pathไหม?
95 ruby 

4
Ruby คืนค่าสองค่าอย่างไร?
เมื่อใดก็ตามที่ฉันสลับค่าในอาร์เรย์ฉันต้องแน่ใจว่าฉันเก็บค่าใดค่าหนึ่งไว้ในตัวแปรอ้างอิง แต่ฉันพบว่า Ruby สามารถคืนค่าสองค่าและสลับสองค่าโดยอัตโนมัติ ตัวอย่างเช่น, array = [1, 3, 5 , 6 ,7] array[0], array[1] = array[1] , array[0] #=> [3, 1] ฉันสงสัยว่ารูบี้ทำสิ่งนี้ได้อย่างไร
95 ruby 


7
การติดตั้ง RubyGems ใน Windows
ฉันเพิ่งรู้จักทับทิม ฉันพยายามที่จะติดตั้งทับทิมอัญมณีบนเครื่องพีซีของฉันโดยทำตามขั้นตอนที่กำหนดไว้ในเว็บไซต์http://rubygems.org/pages/download ฉันดาวน์โหลดแพ็กเกจจากไซต์ที่กล่าวถึงเปลี่ยนไดเร็กทอรีเป็นไดเร็กทอรีที่มีการตั้งค่าอยู่และพยายามรันการตั้งค่าโดยใช้คำสั่งsetup.rbในพรอมต์คำสั่ง แต่ฉันได้รับหน้าต่างป๊อปอัปที่ระบุว่า "Windows ไม่สามารถเปิดไฟล์นี้" และแจ้งให้ฉันเลือกโปรแกรมเพื่อเปิดไฟล์นี้ ตอนนี้ฉันควรทำอะไรดี? แจ้งให้เราทราบหากฉันทำอะไรผิด

9
วิธีตรวจสอบว่า URL ถูกต้องหรือไม่
ฉันจะตรวจสอบว่าสตริงเป็น URL ที่ถูกต้องได้อย่างไร ตัวอย่างเช่น: http://hello.it => yes http:||bra.ziz, => no หากนี่เป็น URL ที่ถูกต้องฉันจะตรวจสอบได้อย่างไรว่านี่สัมพันธ์กับไฟล์รูปภาพหรือไม่
95 ruby 

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