问题标签 [sigils]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
2800 浏览

perl - 为什么在 Perl 中访问数组和哈希元素时需要 $?

既然在 Perl 中数组和散列只能包含标量,为什么在访问数组或散列元素时必须使用 $ 告诉解释器该值是标量?换句话说,假设你有一个 array@myarray和一个 hash %myhash,你为什么需要这样做:

而不仅仅是做:

为什么上面有歧义?

如果在那个地方不是 $ 的话,那不是非法的 Perl 代码吗?例如,在 Perl 中,以下所有内容不都是非法的吗?

0 投票
4 回答
4202 浏览

php - 可以在没有美元符号 $ 变量的情况下使用 PHP 吗?

是否可以在 PHP 中以类似 Java 的方式命名变量,例如$每次都不需要符号?如果是这样,我该如何启用执行此操作的设置?

0 投票
4 回答
690 浏览

ruby - 在 Ruby 函数中,“at”符号 (@) 的作用域是什么?

自从我上次进行 Ruby 编程以来已经有一段时间了——查看别人的代码,我在一个函数(不是@方法——任何类定义的外部)中看到了印记,我理解它的范围仅限于实例成员。

模块是隐含self在功能中的吗?

0 投票
2 回答
178 浏览

php - php中的双$语句

PHP 中的双 $ 语句代表什么?

0 投票
5 回答
3110 浏览

perl - Perl 中的 `$this`、`@that` 和 `%those` 有什么区别?

Perl 中的 ,​​ 和 有$this什么@that区别?%those

0 投票
1 回答
168 浏览

perl - Perl 编译问题

我在编译这个方法时遇到了一些麻烦:

这是错误消息:

谁能看出问题出在哪里?

0 投票
1 回答
178 浏览

variables - perl6:用户定义变量需要@-sigil 吗?

在使用用户定义的变量时,没有'@'-sigil 有什么我不能做的吗?

0 投票
2 回答
2027 浏览

iphone - 在 iPhone/iPad 项目中处理 WCF

我正在尝试使我的 Monotouch 应用程序与 WCF 服务一起使用。一切正常,但时不时(10 - 30 次服务调用),应用程序因 SIGIL 崩溃。调试器就是这么说的。它发生在随机的地方。

另一名员工在使用相同服务的 iPhone 应用程序上工作。同样的问题,但更频繁。

在模拟器上测试时一切正常。

如果有人遇到同样的问题,请帮忙。使用 asmx 服务会有帮助吗?

谢谢你们。

干杯

0 投票
2 回答
1782 浏览

vb6 - VB6 函数名中的 & 符号的意义?

我刚收到一堆遗留的 VB6 (!) 代码,并且我不断看到在名称末尾使用 & 符号声明的函数,例如Private Declare Function ShellExecute& . . ..

我一直无法找到对此意义的答案,也无法检测到任何使用中的模式或由此命名的函数的签名。

任何人都知道那些尾随的&符号对编译器是否意味着什么,或者至少是否有一些我遗漏的约定?到目前为止,我把它写成一个奇怪的程序员,但我想确定它背后是否有任何意义。

0 投票
2 回答
115 浏览

perl - Perl 5 中不一致的(愚蠢的?)数据访问(也让我对符号的使用感到困惑)

这个问题是关于要求对 Perl 系统中发生的事情进行一些解释,因为尽管我已经编码超过 25 年,但我并没有隐含地看到这一点。所以故事来了……

在尝试使用Cyrus::IMAP::AdminPerl5 中的实例时,我尝试获取并打印配额列表,从而导致返回的数据结构有些奇怪。

通过打印出类似的内容,此代码实际上可以按需要工作

此代码取自Cyrus::IMAP::Shell类似于以下内容的阅读:

这段代码在我看来有点傻,因为使用$quota{$quota}[0]. 在我的例子中,我稍微重命名了变量,以拒绝混合使用不同类型但名称相同的变量。

在获取代码之前,Cyrus::IMAP::Admin我尝试了解其规范并通过自己编写的代码处理结果。它看起来像这样:

但是,这段代码不起作用,我自己也没有找到任何合理的解释。我的理解是,将最后一个代码示例转移到最初发布的表单需要将第 11 行中的分配源替换为第 12 行中的用法,并将配额的标志从 更改@为 ,$因为我最终试图获得一个标量结果. 最后一段代码在斜杠之前打印一个数组引用,之后什么也没有。所以我必须像这样修复我的代码才能让它工作:

第 12 行中的这个额外的取消引用是我现在感到困惑的地方。为什么@sizes包含一个数组在其唯一的第一个元素中存储另一个数组?由于感到困惑,我已经在第 11 行尝试了替代代码,但无济于事。这些测试包括

(因为它与上面发布的原始代码等效)和

(因为我不知道为什么)。切换符号似乎根本不会改变赋值的语义。%quotas但是使用这个赋值似乎对原来包含的数据结构打开了不同的视图。需要哪些符号才能@sizes匹配$quotas{$quota}最顶层代码片段中使用的内容和结构?