2009-03-03 13 views
6

Czy ktoś wie o czymś podobnym do Date.js w języku Ruby? Coś, co byłoby w stanie zwrócić obiekt daty z czegoś takiego: "dwa tygodnie od dzisiaj". Webapp "Remember the Milk" zawiera tę funkcję w swoim systemie i jest niezwykle łatwy w użyciu.Przetwarzanie daty w języku naturalnym dla ruby ​​/ szyn

Używałbym samej biblioteki Date.js, ale ponieważ jest po stronie klienta, ma swoje ograniczenia. Jeśli użytkownik nie ma włączonego javascript, funkcja zostanie utracona. Wpłynie to na użytkowników telefonów komórkowych, którzy, najlepiej, korzystaliby z naszego systemu za pośrednictwem wiadomości tekstowych (sms).

Chciałbym skorzystać z rozwiązania, które już istnieje, ale jeśli nie, jak trudno byłoby przenieść ten kod na Ruby? Naprawdę nie wiem wiele na temat interpretacji języka naturalnego, ale wydaje się, że zajmie to trochę czasu.

Dzięki.

Odpowiedz

15

nie należy zapominać, że wszystko jest obiekt w Ruby, masz już trochę dość czytelne oświadczenie samego języka:

2.weeks.from_now.utc 

byłoby równoznaczne z „dwóch tygodni od dzisiaj”.

Jednak dla rzeczywistym języka naturalnego, mogą być chronic może być bardziej specjalistyczna biblioteka w rubyforge.

Chronic.parse('this tuesday 5:00') 
#=> Tue Aug 29 17:00:00 PDT 2006