gpt4 book ai didi

java - 从非 Java Ruby 迁移到 Groovy : Language Differences

转载 作者:数据小太阳 更新时间:2023-10-29 07:24:21 25 4
gpt4 key购买 nike

使用我并不出色的 Google 技能,我未能找到适合 Ruby 程序员的 Groovy 教程。有很多政治文章(Ruby 很棒!Groovy 很棒!)和微小的对比,但我真的不在乎哪个更好。我比较了解 Ruby(和 Java),我想学习 Groovy。

有人会关心(提供一个惊人的链接或)标记两种语言在如何做事(句法、类声明、循环、 block 等)方面的一些差异吗?出于我的目的,您可以假设具备完整的 Java 能力来进行解释。

同样,我对知道哪个更好不感兴趣。只需要知道如何做事....

最佳答案

如果您了解 Java,那么您能读到的最好的东西就是如何在 Groovy 中使用元类。这是一个体面的解释:http://skillsmatter.com/downloads/Groovy%20User%20Group%20December%202006.pdf

请记住,Groovy 中的所有内容都通过元类运行。看似简单的语句:

a = foo.bar
bar = b
foo.baz(1,2,3)

大致翻译成这个Java:

a = foo.getMetaClass().getProperty("bar");
this.getMetaClass().setProperty("bar",b);
foo.getMetaClass().invokeMethod("baz",new Object[] {1,2,3});

一切都通过 metaClass 分派(dispatch),这几乎是所有 Groovy“语言”功能的工作方式。最重要的功能可能是 closures .关于闭包,您需要记住的是它都是元类的诡计。闭包的元类可以设置为尝试在其委托(delegate)上调用方法/解析属性,这基本上意味着您可以执行诸如在没有该方法的对象上调用方法之类的操作。

关于java - 从非 Java Ruby 迁移到 Groovy : Language Differences,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2255008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com