Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从非JavaRuby到Groovy:语言差异_Java_Ruby_Groovy - Fatal编程技术网

从非JavaRuby到Groovy:语言差异

从非JavaRuby到Groovy:语言差异,java,ruby,groovy,Java,Ruby,Groovy,用我不太出色的谷歌技能,我还没能找到一个适合Ruby程序员的Groovy教程。有很多政治作品(Ruby很棒!Groovy很棒!)和微小的对比,但我真的不在乎哪个更好。我对Ruby(和Java)比较了解,我想学习Groovy 是否有人愿意(提供一个惊人的链接或)标记这两种语言在如何操作(语法、类声明、循环、块等)方面的一些差异?出于我的目的,您可以假设完全具备Java能力来解释 再说一次,我不想知道哪个更好。只需要知道如何做事……你看到和了吗? 相对较短的帖子,我知道。你是对的;似乎没有太多 更新

用我不太出色的谷歌技能,我还没能找到一个适合Ruby程序员的Groovy教程。有很多政治作品(Ruby很棒!Groovy很棒!)和微小的对比,但我真的不在乎哪个更好。我对Ruby(和Java)比较了解,我想学习Groovy

是否有人愿意(提供一个惊人的链接或)标记这两种语言在如何操作(语法、类声明、循环、块等)方面的一些差异?出于我的目的,您可以假设完全具备Java能力来解释

再说一次,我不想知道哪个更好。只需要知道如何做事……你看到和了吗? 相对较短的帖子,我知道。你是对的;似乎没有太多


更新:更多。

如果你了解Java,你能读到的最好的东西就是在Groovy中如何使用元类。这里有一个合理的解释:

只要记住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});

一切都是通过元类调度的,这就是Groovy“语言”特性的工作方式。最重要的特征可能是。关于闭包,您需要记住的是,这都是元类的诡计。闭包的元类可以设置为尝试调用其委托上的方法/解析属性,这基本上意味着您可以在没有该方法的对象上调用方法。

Java和Groovy之间的差异小于Ruby和Groovy之间的差异,因此如果您同时了解Ruby和Java,寻找一本“面向Java程序员的Groovy”书籍或教程可能更有意义


在我看来,市场上最好的Groovy书籍是。这是我所知道的最新的一本书(尽管在最新版本之后还有一些版本),非常简洁,并且涵盖了一些相对高级的主题(例如元对象协议)。

我们需要更多类似这样的问题。在这个问题提出三年后,关于这两种相似语言之间的迁移,仍然缺乏比较的信息

我确实发现了这张幻灯片分享演示文稿,它涵盖了很多基本内容

这篇博文对“简单”的东西很有帮助,因为它提供了更多的背景信息:

在不同语言之间切换的原因通常更多地与项目需求有关,而不是语言本身,我觉得能够在工具之间进行交换和比较很重要

这类问题的一个标准资源是:

希望在此列表中添加更多提示

干杯,
Will

Groovy wiki有一篇很好的文章,标题是。

不是对这个问题的答案,但很有帮助,所以+1:)同上,不是回答问题,但对任何进入Groovy的人都没有太大帮助。。。像我一样;-)所以+1谢谢,我现在正在读一本关于Groovy的好书,但是生活中有比学习更多的东西。还有记忆。我需要一个Ruby和Groovy之间的差异列表,以便现在和将来都能保持一致。不过,在某个时候,我会列出这个列表,并在这个问题中添加一个链接。出于好奇,什么是“关于Groovy的优秀书籍”?嗨@don抱歉,我从来没有看到过这本书,因为它没有被提及,现在我不知道;)希望一切顺利!这与这个问题不太相关。我不确定这怎么与你的问题不相关。本文讨论了groovy语法,并假设您熟悉Java—例如,比较Java和groovy之间的属性设置。此外,如果您想阅读现有groovy源代码并彻底理解它,了解习惯的groovy编程风格将非常重要。