Jestem trochę zdezorientowany z dokumentacją Ruby na https://ruby-doc.org/. Możemy tam znaleźć klasę Time jako część core 2.3.0, gdzie mamy opisanych 60 funkcji, a także klasa Time jako część stdlib 2.5.3, gdzie mamy tylko 13. Czy te opisy opisują tę samą klasę? Czy oba są aktualne dla Rubiego 2.5.3? Któremu z tych opisów powinienem zaufać?

0
Karol Selak 19 listopad 2018, 19:34

1 odpowiedź

Najlepsza odpowiedź

Istnieje zarówno podstawowa biblioteka czasu, jak i biblioteka czasu stdlib.

Core one implementuje podstawową funkcjonalność Time. Jego struktury, podstawowa matematyka, strefy czasowe i ogólne funkcje formatowania. Biblioteka standardowa dodaje dodatkowe wygodne metody analizowania i formatowania.

Mogę tylko zgadywać dlaczego z własnego doświadczenia z datami i godzinami. Istnieje dużo formatów daty i godziny, które mogą szybko rozciągnąć prostą bibliotekę zarówno pod względem pamięci, jak i złożoności. Przypuszczam, że ludzie z Ruby chcieli zachować prostotę Time rdzenia i sprawili, że dodatkowe formatowanie jest opcjonalne.

Time ma kilka funkcji formatowania, takich jak asctime, ctime i strftime. Te otrzymujesz za darmo z C, a strftime jest dość potężny.

2
Schwern 19 listopad 2018, 20:01