में मैं एक रूबी फ़ाइल प्राप्त करने की कोशिश कर रहा हूं और मुझे लगता है कि मैं पागल हो रहा हूं। मेरे सेटअप के रूप में मेंरूबी को "लोड करने के लिए ऐसी कोई फ़ाइल" त्रुटि की आवश्यकता नहीं है अभी तक पथ
दो फ़ाइलें इस प्रकार
CommandRunner Benchmarker
Benchmarker इस बिंदु पर मुख्य कार्यक्रम है और CommandRunner की आवश्यकता के लिए करना चाहता है '/ raid1/माणिक कोड/बेंचमार्क /', मैं एक गुच्छा की कोशिश की है विभिन्न चीजों में से और उनमें से कोई भी काम नहीं करता है। निम्नलिखित बातें मैं
require './CommandRunner'
$LOAD_PATH.unshift File.expand_path(File.dirname($PROGRAM_NAME)) require 'CommandRunner'
$LOAD_PATH.unshift File.expand_path(File.dirname($PROGRAM_NAME)) require './CommandRunner'
मैं भी require_relative का उपयोग करके उपरोक्त क्रमपरिवर्तन की सभी की कोशिश की है Benchmarker
की शुरुआत मेंrequire 'CommandRunner'डाल दिया है के सभी की एक सूची है। मैंने इसे emacs के अंदर फ़ाइल को irb में लोड करने का प्रयास किया है, और मैंने इसे कमांड लाइन पर आज़माया है। Irb में एक बिंदु पर यह
require 'CommandRunner'के साथ एक बार लोड हो जाएगा और फिर तब तक लोड होगा जब तक कि मैं इसे वापस './CommandRunner' पर स्विच नहीं करता और फिर यह एक बार फिर लोड हो जाएगा।
मैं वास्तव में त्रुटि कहना
`require_relative': no such file to load -- /raid1/ruby-code/benchmark/CommandRunner (LoadError)
जो फाइल करने के लिए सही रास्ता है लिया है!
मैंने इसे लोड करने के लिए स्विच किया है और काम करने के लिए लगता है, मुझे अजीब व्यवहार दिखाई दे रहा है लेकिन यह शायद मुझे हो सकता है। क्या किसी को पता है कि यहां क्या होगा?
फ़ाइल का नाम कमांडरनर है, मैं इसे बदल सकता हूं क्योंकि मुझे यकीन नहीं था कि मानक अभ्यास क्या था लेकिन अभी यह फ़ाइल का नाम है। – asm
मुझे प्रलेखन में नहीं मिला है कि यह विशेष रूप से समर्थित नहीं है। यदि आप CommandRunner को CommandRunner.rb में बदलते हैं, तो यह काम करेगा, लेकिन मुझे लगता है कि यह eval.c में एक बग हो सकता है कि यह फ़ाइल कमांडरनर नहीं ढूंढ रहा है (और बदतर, आपको बता रहा है कि फ़ाइल मौजूद नहीं है)। –
आह, मुझे लगता है कि मैंने इसे पाया। Http://ruby-doc.org/core/classes/Kernel.html#M005941 "से ... अन्यथा, रुबी नाम' '.rb '',' '.so '' जोड़ने की कोशिश करता है, और इसी तरह नाम पर। " इसलिए यह निर्दिष्ट करता है कि यदि कोई एक्सटेंशन नहीं दिया गया है, तो रूबी वैध एक्सटेंशन जोड़ने का प्रयास करेगा, इसलिए एक्सटेंशन को निर्दिष्ट नहीं किया गया है। दूसरे शब्दों में, यदि आप इसकी आवश्यकता चाहते हैं तो कोई एक्सटेंशन मान्य नहीं माना जाता है। –