2012-03-14 13 views
43

आईआरबी का उपयोग, दिनांक & समय वर्ग स्वचालित रूप से लोड क्यों होते हैं, लेकिन डेटटाइम नहीं है? मुझे require 'date' है, यह मुझे समझ में नहीं आता है क्योंकि मैंने सोचा था कि दिनांक और दिनांक दोनों मानक पुस्तकालय 'date' का उपयोग कर रहे थे?रुबी की डेट क्लास स्वचालित रूप से लोड क्यों होती है लेकिन डेटटाइम नहीं है?

ruby-1.9.2-p290 :001 > Date 
=> Date 
ruby-1.9.2-p290 :002 > Time 
=> Time 
ruby-1.9.2-p290 :003 > DateTime 
NameError: uninitialized constant Object::DateTime 
    from (irb):3 
    from /Users/kamilski81/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in `<main>' 
ruby-1.9.2-p290 :004 > require 'date' 
=> true 
ruby-1.9.2-p290 :005 > require 'date' 
=> false 
ruby-1.9.2-p290 :006 > DateTime 
=> DateTime 
+5

1.9.3p125 'दिनांक' स्वचालित रूप से लोड नहीं होता है। –

+1

'दिनांक' को स्वचालित रूप से कभी लोड नहीं किया गया है, आप, या अधिक संभावना' irb', शायद इसे लोड करता है, या कुछ लोड करता है जो बदले में लोड करता है। – Theo

+1

'दिनांक' वास्तव में स्वचालित रूप से लोड नहीं होता है, इस [प्रश्न] (http://stackoverflow.com/a/11633934/52499) पर एक नज़र डालें। –

उत्तर

1

थोड़ा और अधिक उत्सुक होने के नाते, मैं करने की कोशिश की:

$ ruby -e 'puts DateTime.class' 
-e:1:in `<main>': uninitialized constant Object::DateTime (NameError) 
[~, [email protected]] 
$ ruby -e 'puts Date.class' 
-e:1:in `<main>': uninitialized constant Object::Date (NameError) 
$ ruby -e 'puts Time.class' 
Class 

तो यह मुझे लगता है कि यह एक आईआरबी मुद्दा यह है कि स्वचालित रूप से लोड होता है 'तारीख' है बनाता है।

+7

कृपया इसे अपने मूल प्रश्न में जोड़ें और इस उत्तर को हटाएं। –

34

आईआरबी में, इस लाइन को शामिल करें: require 'date' तो आप डेटटाइम का उपयोग करने में सक्षम होंगे।

irb(main):000:0> DateTime.class 
NameError: uninitialized constant DateTime 
     from (irb):0 
     from /path/to/ruby/irb:12:in '(main)' 
irb(main):001:0> require 'date' 
=> true 
irb(main):002:0> DateTime.class 
=> Class 
4

require 'date' के साथ पहली बार शुरू होने पर मेरे लिए काम किया।

संबंधित मुद्दे

 संबंधित मुद्दे