Ruby初学者的商业自然语言

时间:2011-07-20 14:08:49

标签: ruby dsl

我想知道在Ruby中进行自然语言处理的开始位置。我是C# programmer,虽然我找到了这个C#教程: Writing Your First Domain Specific Language,我想借此机会学习 Ruby 语言,实现类似于:

  • 对于问题1,如果(问题1答案是C,D),则值为3.0,否则为2.0。
  • 对于问题3,如果(问题1答案为B),则值为(问题1值* 0.75)。
  • 对于问题3,如果(问题1答案是B)和(问题2答案是C),则值为(问题1值* 0.50)。
  • 对于问题3,默认值为3.0。

提前致谢。 :)

2 个答案:

答案 0 :(得分:0)

您可能希望查看 DSLs in Action http://www.manning.com/ghosh/),因为虽然它主要涉及Scala,但他还讨论了如何使用Groovy,Clojure和Ruby,以及如何使用用这些语言做DSL。

他在讨论如何决定设计/实施DSL时也做得很好。

答案 1 :(得分:0)

如果你真的想做自然语言处理(你在文中提到它),我建议使用OpenNLP和JRuby。去年我做到了,效果非常好。

对于DSL,网上有大量特定于Ruby的教程,只需使用您最喜欢的搜索引擎即可找到它们。书本明智我推荐Russ Olson的“Eloquent Ruby”和Paola Perotta的“Metaprogramming Ruby”。在这两本书之后,你应该知道编写DSL所需要知道的一切,并且已经学到了很多非常好的Ruby作为副作用。