领域专用语言实战的笔记(5)

>我来写笔记

按有用程度 按页码先后 最新笔记

  • stephansun

    stephansun (认真你就输了...)

    ...动态类型语言轻仪节而重语义... 读中文感觉怪怪的,翻来英文版的看看 英文原文: They’re low in ceremony and rich in semantics. 然后手贱搜了一把,发现跟这个low ceremony跟scala颇有渊源。 Scala官网(www.scala-lang.org/what-is-scala.html) 里面有这么一句: "Its syntax is concise and low ceremony;" 维基百科(http://en.wikipedia.org/wiki/Scala_(programming_language))第一句就是:&quo..;.   (1回应)

    2014-01-13 15:21   2人喜欢

  • stephansun

    stephansun (认真你就输了...)

    中文版 这样用户不用写那么多`八股代码`,得出来的DSL比较精干而且更易于掌握。在静态方式下需要堆砌大量`死板代码`来完成的事情,语言运行时利用反射就做到了(所以叫反射式元编程)。 英文版 The user has to write less `boilerplate code`, and that makes the final DSL more precise and easier to manage. The language runtime uses reflection (that’s why it’s called reflective metaprogramming) to ...   (1回应)

    2015-01-07 00:53

  • stephansun

    stephansun (认真你就输了...)

    然后规则的具体实现可以用Ruby DSL来写: require 'java' class RubyAccruedInterestCalculationRule { def calculate(trade) //.. implementation end end RubyAccruedInterestCalculationRule.new 这里RubyAccruedInterestCalculationRule后面不应该加”{“,印刷错误,英文版也是一样。 另外觉得"//.. implementation"换成"# .. implementation"好一些,符合Ruby语法。

    2014-01-13 16:58

  • stephansun

    stephansun (认真你就输了...)

    `优先选用`Groovy Gategory代替ExpandoMetaClass来控制元编程的作用域。

    2014-01-13 15:14

  • stephansun

    stephansun (认真你就输了...)

    /代码内容已省略/ /代码内容已省略/ 在我现在使用的Groovy 2.1.8版本中,”200.GOOG“是失效的,无法通过200.GOOG调用StockCategory中的getGOOG方法,改成200.getGOOG().share得到正确的结果。 后来翻了随书示例源代码,发现里面使用的Groovy版本是1.7.2,然后切换到1.7.2版本后结果是书中一致的。另外想到本书英文版是2010年出版的。

    2014-01-13 14:58

笔记是你写在书页留白边上的内容;是你阅读中的批注、摘抄及随感。

笔记必须是自己所写,不欢迎转载。摘抄原文的部分应该进行特殊标明。

领域专用语言实战

>领域专用语言实战