gpt4 book ai didi

perl - Perl 让小代码做这么多事情的秘诀是什么?

转载 作者:行者123 更新时间:2023-12-03 22:46:53 26 4
gpt4 key购买 nike

我见过很多(代码高尔夫)Perl 程序,即使我看不懂它们(不知道 Perl)我想知道你如何设法获得这么小的代码来完成需要 20其他一些编程语言中的行。

  • Perl 的 secret 是什么?是否有一种特殊的语法可以让您通过几次按键完成复杂的任务?它是正则表达式的混合吗?

  • 我想学习如何编写强大而简短的程序,就像您从这里的代码高尔夫挑战中了解到的那些程序一样。最好的起点是什么?我不想学习“干净”的 Perl - 一周后看不懂也想写脚本 .

    如果有其他编程语言可以让我编写更短的代码,请告诉我。

    最佳答案

    有许多因素使 Perl 适合代码打高尔夫球:

  • 没有数据输入。值可以作为字符串和数字互换使用。
  • “对角线”语法。通常称为 TMTOWTDI(这样做的方法不止一种。)
  • 默认变量。大多数函数作用于 $_如果没有指定参数。 (一些行为
    @_ .)
  • 采用多个参数的函数(如 split )通常具有默认值
    让你省略一些参数甚至全部。
  • “神奇”readline 运算符,<> .
  • 高阶函数,如 mapgrep
  • 正则表达式已集成到语法中(即不是单独的库)
  • 短路运算符返回最后测试的值。
  • 短路运算符可用于流量控制。

  • 此外,没有限制(默认关闭):
  • 您不需要声明变量。
  • Barewords 自动引用字符串。
  • undef变成 0''取决于上下文。

  • 既然这已经不在了,让我在一点上非常清楚:

    高尔夫是一种游戏。

    渴望perl-fu的水平让你擅长它是很棒的,但以 $DIETY的名义不要打高尔夫球真正的代码。一方面,这是一种可怕的时间浪费。您可能会花一个小时来尝试删减几个字符。打高尔夫球的代码是脆弱的:它几乎总是做出重大假设,并且漫不经心地忽略错误检查。真正的代码不能这么粗心。最后,您作为程序员的目标应该是编写清晰、健壮和可维护的代码。编程中有一句谚语:总是把你的代码写成好像维护它的人是一个知道你住在哪里的暴力反社会者。

    所以,无论如何,开始打高尔夫球吧;但要意识到它只是在玩弄并如此对待它。

    关于perl - Perl 让小代码做这么多事情的秘诀是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2616993/

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