我正在尋找一種方法來解析序數(第一,第二,第三等)在Ruby中,並將其轉換爲整數。你知道有這樣的圖書館嗎?是否有一個Ruby gem或庫提供瞭解析序數的方法?
5
A
回答
4
當我意識到chronic
gem將此作爲解析日期的一部分時,我通過詢問這個問題已經過半。安裝寶石後,你可以序數轉換爲整數很容易地:
irb(main):001:0> require 'chronic'
=> true
irb(main):002:0> Chronic::Numerizer.numerize("eighty-fifth").to_i
=> 85
編輯:遺憾的是,似乎chronic
不能正確分析序「第二」:
irb(main):003:0> Chronic::Numerizer.numerize("twenty-second").to_i
=> 20
原因是chronic
被設計爲解析日期和時間,而「second」可能是在這種情況下的序數或單位時間。爲了解決這個問題,你可以猴子補丁chronic
的Numerizer
類這一行:
Chronic::Numerizer::ORDINALS.insert(1, ['second', '2'])
現在,它的工作原理:
irb(main):005:0> Chronic::Numerizer.numerize("eighty-second").to_i
=> 82
如果您在實際使用chronic
其預期目的,雖然,你可能將不想與其內部結合。在這種情況下,您可以將source code從Chronic::Numerizer
複製到一個新類中,然後使用該類。不要忘記在新班級中將['second', '2']
添加到ORDINALS
常數中。
1
0
我一直在使用一種名爲deordinalize(https://rubygems.org/gems/deordinalize)的寶石,它似乎很好地做了這個訣竅 - 只要確保你在調用之前敲響了它;
>> require 'deordinalize'
>> 'Forty-Second'.downcase.deordinalize
=> 42
0
正確解析序「第二」: 你現在必須猴補丁Numerizer類此行
SINGLE_ORDINALS.insert(1, ['second', 2])
相關問題
- 1. ruby是否提供了顯示層次調用的方法?
- 2. 是否有任何最新的Ruby Gems提供gem模板?
- 3. 是否有解壓縮CSS的Ruby Gem?
- 4. 是否有一個可以生成沒有gem依賴關係的解析器的ruby解析器生成器?
- 5. Cassandra JDBC是否提供了一個DataSource?
- 6. 是否有一個生成列getter方法的Ruby CSV解析器?
- 7. PowerShell是否提供了創建函數註釋的方法?
- 8. 是否有Ruby庫/ gem會根據一組參數生成一個URL?
- 9. myBatis是否提供了一些方法,例如refreshAndLock?
- 10. 是否將svn ruby綁定提供爲gem?
- 11. Ruby或Rails是否有一個「in multiples of」方法?
- 12. Rails 3.2 Active_presenter rubygem - 是否死了
- 13. SAP ABAP是否提供了一種簽署程序集的方法?
- 14. 哪個gem提供了Rails控制檯?
- 15. FB IOS SDK是否提供了一種方法來檢查accesstoken的有效性?
- 16. Actionscript3是否提供列表解析或lambda演算?
- 17. 安裝Lisp庫如ruby gem(Ruby)或easy_install(Python)有簡單的方法嗎?
- 18. 是否有一個用於Golang風格持續時間解析的Ruby庫?
- 19. 在R中是否有一個包提供了-normalized-inverse FFT?
- 20. 是否有一個ruby方法只返回一個塊的值?
- 21. Ruby:有沒有方法attr_initialize的gem?
- 22. C++程序 - 不確定是否我提供了正確的解決方案
- 23. 是否蘋果提供了一個網站,以瞭解IOS(如Android)
- 24. 有沒有一種方法來grep或解析一個變量
- 25. 是否可以創建一個方法,該方法對@Transaction最初註釋的方法提供了@AfterReturnin操作?
- 26. 解析JSON在node.js中提供了一個錯誤
- 27. 解析序列化PHP數組的ruby gem?
- 28. 是否有一個Objective-C庫與Ruby-English Gem做同樣的事情?
- 29. C#是否有解析int的方法,同時跟蹤解析的字符數?
- 30. 是否有人爲Microsoft Index Server構建了一個nhibernate提供程序?
在回答自己的問題:) –