В Ruby я ожидаю, что класс, который не был необходим, поднимет ошибку "неинициализированной константы". Например, это относится к CSV
.
Однако Date
ведет себя странно: он доступен, но, по-видимому, не работает, пока он не понадобится.
~: irb
>> Date.new(2012,7,24)
ArgumentError: wrong number of arguments(3 for 0)
>> require 'date'
=> true
>> Date.new(2012,7,24)
=> #<Date: 2012-07-24 ((2456133j,0s,0n),+0s,2299161j)>
Что объясняет это поведение?