问题标签 [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 投票
1 回答
110 浏览

ruby - @ 符号有什么作用?

我有代码@array = array。把@标志放在前面array有什么用?

0 投票
1 回答
81 浏览

ruby - ruby 中的字符串替换取决于变量的第一个字符

在我认为变量范围是我得到提示的原因之后,该替换取决于变量的第一个字符是否是字母/下划线。但我不明白意图。让我们看这个例子:

结果是:

我希望所有 5 行都一样。它是一个错误吗?或者这种行为的意图是什么?

0 投票
5 回答
622 浏览

javascript - 变量没有符号的语言如何处理动态调度/调用?

动态语言允许使用仅在运行时才知道的变量的值进行调度和调用。Perl 中的对比示例:

  1. 类名

    • 持续的

      /li>

    这些都是相同的,除了第一个是边缘情况。如果在作用域中定义了具有该名称的子例程,则分派发生在其返回值上,这会导致难以理解的错误。引用的版本总是安全的。

    • 动态的

      /li>
  2. 方法名称

    • 持续的

      /li>
    • 动态的

      /li>
  3. 函数名

    • 持续的

      /li>
    • 动态的

      /li>

我想知道,变量名没有符号(通常或根本没有)的语言如何处理这些问题,特别是他们的语言设计者如何消除以下歧义?

  1. 解析类名FooBar.some_method,其中类FooBar可能是名称文字或值为类名的变量
  2. 调度到SomeClass.foo_barwhere 方法foo_bar可能是名称文字或值为方法名称的变量
  3. 调用foo_bar函数可能是名称文字或值为函数的变量

我主要对这个问题的标签中提到的三种语言感兴趣,但如果你知道另一种没有符号的动态语言,你也可以回答。

0 投票
1 回答
297 浏览

perl - Perl:将标量直接分配给哈希

在查看一些 Perl 代码时,我发现 chr 的输出直接分配给了一个哈希:

对代码工作正常感到困惑,这让我意识到以下几点:

我希望将标量直接分配给散列或数组会导致错误。有人可以解释为什么 jurso 变量的行为就像一个标量,而不管使用的符号是什么?

谢谢。

0 投票
1 回答
137 浏览

jquery - 这是什么意思“jQuery(函数($){})”?

下面的行是什么意思?它将 function($) 作为参数传递给 jQuery?

0 投票
2 回答
52 浏览

perl - 为什么我可以使用@list 调用数组,但不能使用%dict 调用perl 中的哈希?

今天我开始了我的 perl 之旅,现在我正在探索数据类型。

我的代码如下所示:

它似乎$ + var_name适用于数组和哈希,但@ + var_name可用于调用数组,同时% + var_name不能用于调用哈希。

为什么?

0 投票
2 回答
360 浏览

elixir - 为什么 Elixir 中定义印记的语法不使用“defsigil”?

我正在阅读Elixir 教程中关于印记的页面。
我希望定义印记的语法使用“defsigil”,就像“defstruct”、“defprotocol”等一样。
但事实并非如此。
为什么?

0 投票
2 回答
205 浏览

epub - 加入断断续续的段落 HTML 正则表达式

我正在尝试xhtmlSigil.

命令

< p>([az])

我能够找到所有以小写开头的段落。这告诉我,它们不应该与前一个分开。这只是一个转换问题。

为了将两个文本块合并为一个段落,我应该怎么做才能删除< p>该段落中的和上一个段落中的?< /p>

它看起来像这样:

< p> ...这就是为什么关系</ p>

< p>不是他们应该的样子。

它应该是:

<p>这就是为什么关系不是他们应该的样子。</p>

0 投票
2 回答
536 浏览

elixir - 在长生不老药印记中转义右括号

我想有一个自定义的印记,这样我就可以每行有一个元素。

这是我有的代码

这适用于

这失败了

注意上面的括号

这是错误信息

预期结果是

需要改什么代码。我是否还需要在输入中添加任何字符并在印记定义中处理?

更新

@AbM 给出的解决方案是正确的。我使用的是 elixir 版本 1.0.4,所以它不起作用。它确实适用于 1.1.x

解决方案

0 投票
1 回答
391 浏览

perl - perl 中的@$ 是什么?

我遇到了这个,希望它是一个错字$@

令我惊讶的是,它输出了这个:

无法在 Dollar_array.pl 第 6 行通过包“Not::Here”(也许您忘记加载“Not::Here”?)找到对象方法“new”。...在 Dollar_array.pl 第 9 行捕获。

我找不到任何关于的信息@$,并且它没有在perlvar上列出,也没有在eval中列出

由于输出 show caught at ...,这似乎是 perl 的异常处理中的东西。