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

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

4
คอนโซล Ruby on Rails ค้างเมื่อโหลด
ไม่ว่าจะด้วยเหตุผลใดก็ตามคอนโซล Ruby on Rails ปฏิเสธที่จะเริ่มต้น มันแค่แฮงค์ ฉันไม่ได้ทำการเปลี่ยนแปลงรหัสของฉันและโครงการอื่น ๆ ที่ใช้ Ruby และ Ruby on Rails รุ่นเดียวกันก็ไม่มีปัญหา ในที่สุดเมื่อฉันCtrl+ Cฉันได้รับการติดตามสแต็กนี้ซึ่งชี้ไปที่สปริง ฉันไม่สามารถอธิบายได้ว่าทำไมสิ่งนี้จึงเกิดขึ้นจากช่วงเวลาหนึ่งไปอีกช่วงเวลาหนึ่งซึ่งมันทำงานได้ดี ฉันล้างอัญมณีทั้งหมดผ่าน RVM และติดตั้งใหม่ทั้งหมดผ่านคำสั่งชุดรวม แต่ก็ยังไม่มีโชค ความคิดใด ๆ ที่จะได้รับการชื่นชม นอกจากนี้เซิร์ฟเวอร์ Ruby on Rails ก็ไม่มีปัญหาเท่าที่ฉันสามารถบอกได้ ปัญหาเกี่ยวข้องกับโครงการ แต่ไม่มีการเปลี่ยนแปลงรหัสและเป็นเพียงคอนโซล Ruby on Rails ที่มีปัญหา Ruby 2.1.2 Rails 4.1.4 user_a@ubuntu:~/work/app_a$ rails console ^C/home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/run.rb:54:in `gets': Interrupt from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/run.rb:54:in `verify_server_version' from …

15
ค้นหาผู้สืบทอดทั้งหมดของคลาสใน Ruby
ฉันสามารถขึ้นชั้นลำดับชั้นใน Ruby ได้อย่างง่ายดาย: String.ancestors # [String, Enumerable, Comparable, Object, Kernel] Enumerable.ancestors # [Enumerable] Comparable.ancestors # [Comparable] Object.ancestors # [Object, Kernel] Kernel.ancestors # [Kernel] มีวิธีใดในการสืบทอดลำดับชั้นด้วยเช่นกัน? ฉันต้องการทำสิ่งนี้ Animal.descendants # [Dog, Cat, Human, ...] Dog.descendants # [Labrador, GreatDane, Airedale, ...] Enumerable.descendants # [String, Array, ...] แต่ดูเหมือนจะไม่มีdescendantsวิธี (คำถามนี้เกิดขึ้นเพราะฉันต้องการค้นหาโมเดลทั้งหมดในแอปพลิเคชั่น Rails ที่สืบทอดมาจากคลาสพื้นฐานและแสดงรายการเหล่านั้นฉันมีคอนโทรลเลอร์ที่สามารถทำงานกับโมเดลดังกล่าวได้และฉันต้องการเพิ่มโมเดลใหม่ โดยไม่ต้องดัดแปลงคอนโทรลเลอร์)
144 ruby 

5
ควรใช้คลาสที่ซ้อนและคลาสที่ซ้อนในโมดูลหรือไม่
ฉันค่อนข้างคุ้นเคยกับการใช้คลาสย่อยและโมดูล แต่เมื่อเร็ว ๆ นี้ฉันได้เห็นคลาสที่ซ้อนกันเช่นนี้ class Foo class Bar # do some useful things end end เช่นเดียวกับคลาสที่ซ้อนกันในโมดูลเช่น: module Baz class Quux # more code end end ทั้งเอกสารและบทความกระจัดกระจายหรือฉันไม่ได้รับการศึกษาในเรื่องเพียงพอที่จะคลานหาคำค้นหาที่ถูกต้อง แต่ดูเหมือนว่าฉันไม่สามารถหาข้อมูลจำนวนมากในหัวข้อ ใครสามารถให้ตัวอย่างหรือลิงค์ไปยังโพสต์ว่าทำไม / เมื่อจะใช้เทคนิคเหล่านั้น
144 ruby  oop 

9
อะไรคือวิธีที่สง่างามใน Ruby เพื่อบอกว่าตัวแปรคือ Hash หรือ Array?
เพื่อตรวจสอบว่า@some_varคืออะไรฉันกำลังทำไฟล์ if @some_var.class.to_s == 'Hash' ผมมั่นใจว่ามีวิธีที่สง่างามมากขึ้นเพื่อตรวจสอบว่า@some_varเป็นหรือHashArray
144 ruby  arrays  hash 

10
การสร้าง Guids ใน Ruby
ฉันมีปัญหาที่แก้ไขได้อย่างง่ายดายด้วย Guids โดยเฉพาะอย่างยิ่งสำหรับเวิร์กโฟลว์การรีเซ็ตรหัสผ่านฉันต้องการส่งโทเค็น Guid ไปยังอีเมลของผู้ใช้และให้พวกเขารีเซ็ตรหัสผ่านโดยใช้โทเค็น เนื่องจาก guids นั้นไม่เหมือนใครมันค่อนข้างปลอดภัยและช่วยให้ฉันส่งอีเมลรหัสผ่านผู้คนซึ่งมีความเสี่ยง ฉันสังเกตเห็นว่ามีอัญมณีแห่งหนึ่งสำหรับทับทิม; แต่มันดูค่อนข้างเก่าและเขียนสิ่งต่าง ๆ ลงในระบบไฟล์ ไม่มีใครรู้อัญมณีอื่น ๆ ที่สามารถสร้างตัวระบุที่ไม่ซ้ำกันทั่วโลกได้หรือไม่? ฉันรู้ว่าฉันสามารถถอยกลับไปที่: (0..16).to_a.map{|a| rand(16).to_s(16)}.join แต่ดูเหมือนว่าจะไม่ใช่ GUID ที่เหมาะสมจริง ๆ ...
142 ruby  guid 

16
ต้องการคำอธิบายง่ายๆของวิธีการฉีด
[1, 2, 3, 4].inject(0) { |result, element| result + element } # => 10 ฉันกำลังดูรหัสนี้ แต่สมองของฉันไม่ได้ลงทะเบียนว่าหมายเลข 10 จะกลายเป็นผลลัพธ์ได้อย่างไร บางคนจะอธิบายว่าเกิดอะไรขึ้นที่นี่
142 ruby  syntax 

11
รายการอัญมณีที่ติดตั้งแล้ว?
มีวิธีทับทิมที่ฉันสามารถโทรเพื่อรับรายการของอัญมณีที่ติดตั้งหรือไม่ gem listฉันต้องการที่จะแยกการส่งออกของ มีวิธีอื่นในการทำเช่นนี้หรือไม่?
142 ruby  rubygems 


6
ไม่พบ Gemfile
ฉันไม่ใช่นักพัฒนา Ruby อย่างแน่นอน แต่ฉันมีแอปพลิเคชันบนเซิร์ฟเวอร์ของฉันโดยใช้ Ruby, Gems และ Bundler ฉันพยายามติดตั้ง Ruby อื่นบนบัญชีผู้ใช้อื่น แต่ใช้ VPS เดียวกัน เมื่อฉันไปวิ่ง bundle install ฉันได้รับข้อผิดพลาดต่อไปนี้: ไม่พบ Gemfile ฉันสามารถลบเนื้อหาของไดเร็กทอรี. / bundle ออกเพื่อให้ดึงอัญมณีทั้งหมดมาใหม่เพื่อล้างข้อผิดพลาด แต่สิ่งนี้จะมีผลกระทบกับแอปพลิเคชันอื่นของฉันที่ใช้ Gems และ Bundler เดียวกันหรือไม่ ฉันไม่ต้องการเสี่ยงที่จะทำให้แอปอื่นล่ม
142 ruby  gem  bundler 

8
วิธีการเข้ารหัส URL สตริงใน Ruby
ฉันจะURI::encodeสร้างสตริงได้อย่างไร: \x12\x34\x56\x78\x9a\xbc\xde\xf1\x23\x45\x67\x89\xab\xcd\xef\x12\x34\x56\x78\x9a เพื่อรับมันในรูปแบบเช่น: %124Vx%9A%BC%DE%F1%23Eg%89%AB%CD%EF%124Vx%9A ตาม RFC 1738? นี่คือสิ่งที่ฉันลอง: irb(main):123:0> URI::encode "\x12\x34\x56\x78\x9a\xbc\xde\xf1\x23\x45\x67\x89\xab\xcd\xef\x12\x34\x56\x78\x9a" ArgumentError: invalid byte sequence in UTF-8 from /usr/local/lib/ruby/1.9.1/uri/common.rb:219:in `gsub' from /usr/local/lib/ruby/1.9.1/uri/common.rb:219:in `escape' from /usr/local/lib/ruby/1.9.1/uri/common.rb:505:in `escape' from (irb):123 from /usr/local/bin/irb:12:in `<main>' นอกจากนี้: irb(main):126:0> CGI::escape "\x12\x34\x56\x78\x9a\xbc\xde\xf1\x23\x45\x67\x89\xab\xcd\xef\x12\x34\x56\x78\x9a" ArgumentError: invalid byte sequence in UTF-8 from /usr/local/lib/ruby/1.9.1/cgi/util.rb:7:in `gsub' from /usr/local/lib/ruby/1.9.1/cgi/util.rb:7:in `escape' from (irb):126 from …


7
ทำไมทับทิมถึงมีทั้งแบบส่วนตัวและแบบป้องกัน?
ก่อนที่ฉันจะอ่านบทความนี้ฉันคิดว่าการควบคุมการเข้าถึงใน Ruby ทำงานเช่นนี้: public- สามารถเข้าถึงได้โดยวัตถุใด ๆ (เช่นObj.new.public_method) protected - สามารถเข้าถึงได้จากภายในวัตถุเท่านั้นเช่นเดียวกับคลาสย่อยใด ๆ private - เช่นเดียวกับที่ได้รับการป้องกัน แต่ไม่มีวิธีการในคลาสย่อย อย่างไรก็ตามดูเหมือนว่าprotectedและprivateปฏิบัติเช่นเดียวกันยกเว้นความจริงที่ว่าคุณไม่สามารถเรียกprivateวิธีการด้วยผู้รับที่ชัดเจน (เช่นใช้self.protected_methodงานได้ แต่self.private_methodไม่ได้) ประเด็นนี้คืออะไร? เมื่อใดจะมีสถานการณ์เมื่อคุณไม่ต้องการวิธีการของคุณที่เรียกด้วยผู้รับที่ชัดเจน?

25
คุณชอบ Ruby IDE แบบใด [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ เมื่อเร็ว ๆ นี้ฉันใช้ Eclipse กับ RDT (ไม่ใช่ RadRails) และฉันมีความสุขมากกับมัน แต่ฉันสงสัยว่าพวกคุณรู้ทางเลือกที่เหมาะสมหรือไม่ ฉันรู้ว่า NetBeans รองรับ Ruby ในทุกวันนี้ แต่ฉันไม่แน่ใจว่ามีอะไรให้มากกว่า Eclipse โปรดระบุคุณสมบัติที่คุณคิดว่ายอดเยี่ยมหรือมีประโยชน์เมื่อแนะนำ IDE ทำให้เปรียบเทียบได้ง่ายขึ้น นอกจากนี้ฉันพูดว่า Ruby ไม่ใช่ Rails ในขณะที่การสนับสนุนของ Rails เป็นข้อได้เปรียบฉันชอบที่จะไม่มี Rails-centric มันควรจะมีอยู่บน Linux และ Solaris เป็นทางเลือก
141 ruby  ide  editor 


5
ฉันจะรวมสองแฮชโดยไม่เขียนทับคีย์ซ้ำในรูบีได้อย่างไร
มีวิธีที่ง่ายหรือสง่าในการรวมสองแฮชโดยไม่ต้องเขียนทับคีย์ซ้ำหรือไม่? นั่นคือถ้ากุญแจมีอยู่ในแฮชดั้งเดิมฉันไม่ต้องการเปลี่ยนค่าของมัน
141 ruby 

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