2013-08-29 12 views
6

Ruby Doc iki bölümü vardır. Çekirdek varsayılan olarak geliyor ve standart ek kütüphaneler/yöntemleri vardır vs bunları kullanmak amacıyla ben require bu standart kütüphaneleri anlamına mı geliyor? Öyle düşünmüştüm ve bir şey gerektirmeden standart kütüphanesinden DateTime.now aldı ve işe yaradı.Ruby Core API ve Standard Library API arasındaki fark nedir? Çekirdek ve Standard:

+1

Kişisel bilgi zorunda (Time.parse gibi) daha fazla işlevsellik elde etmek yanlıştır. 'DateTime.now', 'date'' veya 'time 'time'' gerektiren bir hatayı döndürür. – sawa

+0

@sawa: haklısın, yeni bir irb ateşlemedim ve oynadığımı kullandım. Bu yüzden başka bir kütüphane yüklemiş olabilirim. – Bala

cevap

10

Evet, sen doğru anladım. Temel işlevler, kullanmak için require'a sahip olmadığınız her şeydir.

DateTime

(belki, raylar konsolunun iç Çizginizi yayınlanıyor?)

DateTime.now # => 
# ~> -:1:in `<main>': uninitialized constant DateTime (NameError) 

Ama Time Sadece Time birkaç yöntem vardır

Time # => Time 
Time.now # => 2013-08-29 12:32:54 +0400 

olan çekirdekte değil gibi görünüyor çekirdekte olsa da. Eğer

require 'time' 
+0

OP, farklı bir şey soruyor - * Öyle düşünmüştüm ve hiçbir şey gerektirmeden standart kitaplıktan DateTime.now'u seçtim ve işe yaradı. * Ama benim için öyle değil ... OP'nin bunu nasıl yaptığını bilmiyorum. Ben Ruby 1.9.3'teyim ... –

+0

Benim tahminim o raylar konsolda çalıştı (ya da bazı "yüklü" IRB oturumu). 'DateTime' çekirdekte değil. –

+0

@SergioTulentsev ve @ Babai: Zamanınızı ve zamanımı harcadım, aynı şeyi yeni irb'de denemek bir hata attı. – Bala

İlgili konular