加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在哈希键周围的引号是Perl的良好做法吗?

发布时间:2020-12-15 21:25:45 所属栏目:大数据 来源:网络整理
导读:在Perl中使用散列时,引用密钥是个好主意吗? 我正在开发一个非常大的传统Perl代码库,并试图采用Damian Conway在Perl Best Practices建议的很多最佳实践。我知道最好的做法总是与程序员一个有趣的主题,但希望我能得到一些好的答案这一个没有开始火焰战争。
在Perl中使用散列时,引用密钥是个好主意吗?

我正在开发一个非常大的传统Perl代码库,并试图采用Damian Conway在Perl Best Practices建议的很多最佳实践。我知道最好的做法总是与程序员一个有趣的主题,但希望我能得到一些好的答案这一个没有开始火焰战争。我也知道,这可能是很多人不会争论,因为它是一个小问题,但我想尝试获得一个完整的指南,以遵循我的方式通过这个代码库。

在Perl Best Practices book by Damian Conway,有这个例子显示了如何对齐有助于一段代码的可读性,但它没有提到(在书中的任何地方,我可以找到)任何关于引用哈希键。

$ident{ name   } = standardize_name($name);
$ident{ age    } = time - $birth_date;
$ident{ status } = 'active';

难道这不是更好的用引号来强调你不使用裸词吗?

$ident{ 'name'   } = standardize_name($name);
$ident{ 'age'    } = time - $birth_date;
$ident{ 'status' } = 'active';

解决方法

当指定常量字符串哈希键时,应始终使用(单个)引号。例如,$ hash {‘key’}这是最好的选择,因为它避免了需要考虑这个问题,并导致一致的格式化。如果你有时候抛弃引号,当你的键包含内部连字号,空格或其他特殊字符时,你必须记住添加它们。在这些情况下,您必须使用引号,导致格式不一致(有时无引号,有时引号)。引用的键也更可能由编辑器进行语法高亮。

这里有一个例子,使用“引用有时,没有引用其他时间”的约定可以让你陷入麻烦:

$settings{unlink-devices} = 1; # I saved two characters!

这将编译只是罚款使用严格,但不会完全符合你的期望在运行时。哈希键是字符串。字符串应根据其内容进行引用:单引号用于文字字符串,双引号用于允许可变插值。引用你的散列键。这是最安全的会议,最简单的理解和跟随。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读