gpt4 book ai didi

ruby - Perl - Ruby 映射?

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

我参与了一个必须使用 Perl 的新项目。我来自一个很好的 Ruby 基础,并且想要快速介绍或映射 Perl 和 Ruby,因为我听说 Perl 和 Ruby 在语法上非常接近(对功能一无所知)。

  1. 你对我有什么建议吗?
  2. 您推荐哪本很棒的 Perl 书籍作为扩展引用?
  3. 目前常用的 Perl 版本是什么?

最佳答案

我支持 Nathan 的书籍推荐,不过我也会提到 Beginning Perl。两个额外功能是 (1) 它可以免费(合法)获得 online in its first edition (注意:该站点现在超时,我不确定这是否是暂时的)并且 (2) 它涵盖了与Learning PerlIntermediate Perl 合并。一个缺点是它有时比您想要的更基本。 (学习 Perl 速度更快,假设更多 - 这可能是一件好事。)

你也可以看看这个:To Ruby From Perl来自 Ruby 的网站。反过来想想。

就版本而言,5.10.1 是稳定的,但你会遇到一个范围。我怀疑大多数情况下您会发现 5.8.x 及更高版本。 (就像 Ruby 1.9.1 一样稳定,但您会发现很多地方仍在使用 1.8.6 或更高版本。)

由于我的方向有点相反(我对 Perl 相当了解,而且我越来越频繁地使用 Ruby),所以我可以提及一些对我来说很突出的事情:

  1. 在 Perl 中,您可以在字符串和数字之间自动转换(并且您不需要通过使用 .to_f 或将一个项目设为 float 来明确请求 float 结果)。
  2. 分号不是在 Perl 中结束语句时是可选的。类似地,括号在 Perl 中比在 Ruby 中更少地是可选的。 (这很快就会变得复杂,但是例如,您必须在条件或 while block 中使用括号进行测试。)
  3. 0(字符串、整数和 float )、undef 和空字符串在 bool 测试中评估为 false
  4. 没有单独的 bool 值 truefalse
  5. 你用符号来区分数据类型:$foo 是一个标量; @foo 是一个数组; %foo 是一个散列。 (尤其是数组会让您感到厌烦:它们不是实例变量。)
  6. 您需要在 Perl 中使用 my 关键字显式限定项目的范围。
  7. Perl 中的数组在组合时会自动展平。 (这在 Ruby 中一直困扰着我。)
  8. 上下文,上下文,上下文。在 Perl 中,代码实际执行的大量操作取决于对所处上下文的理解。这里是 a link首先,但这是一个有很多角落和缝隙的大话题。

(请注意,我没有在房间里提到 1000 磅的 gorilla 。面向对象是 Perl 的一部分,但它不是 Perl 的核心,而在 Ruby 中。)

关于ruby - Perl - Ruby 映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1582497/

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