【问题标题】:This perl syntax is confusing这种 perl 语法令人困惑
【发布时间】:2014-12-17 17:32:47
【问题描述】:

Perl Inline::C 包有如下例子,

use Inline C => config => inc => '-I/inc/path';

不知道是不是部分

C => config => inc => '-I/inc/path'

等价于

C => {config => {inc => "-I/inc/path"}}

谢谢。

【问题讨论】:

  • 修改后的符号能编译吗?有用吗?
  • 我知道 perl 不喜欢 use Inline C => {config => {inc => "-I/inc/path"}}。试着理解C => config => inc => '-I/inc/path'; 的语法在这里是什么意思。在其他 Inline::C 模块中从未见过这种语法。希望有一些解释或指向语法文档的指针。
  • 那不等于。但这是:“use Inline qw{ C config inc -I/inc/path }”,或者这个:“use Inline 'C', 'config', 'inc', '-I/inc/path';”或者这个:“use Inline C => ( config => inc => '-I/inc/path' );
  • 换句话说,“内联”之后的所有内容都只是一个平面列表。
  • 参见perldoc perlop -- => 基本上只是一个逗号,并添加了一个附加功能,它假装左边的部分被引用了。

标签: perl


【解决方案1】:

不,不一样。 => 是一个逗号,它会自动引用其左侧的表达式。所以你的代码相当于:

use Inline 'C', 'config', 'inc', '-I/inc/path';

【讨论】:

    猜你喜欢
    • 2018-09-02
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多