问题标签 [heredoc]

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 投票
3 回答
4502 浏览

php - 这种语法在 PHP 中的特殊用途?(三重“尖括号”)

给定以下代码:

感谢这个问题的原始版本的答案,我理解 <<< 是 heredoc 语法,被视为双引号而不需要转义引号。

更进一步,如何最好地利用这一点?具体来说,这是否应该减轻处理包含代码语法的混合引号字符串的压力?

IE..

想法是这可能很有用(如果按照我现在猜测的方式实现),尤其是在处理更大的复杂性和/或寻找代码注入时。同样,寻找heredoc 特别有用或可利用的任何场景。

0 投票
3 回答
511 浏览

string - 在 AS2 中嵌入文本,如 HEREDOC 或 CDATA

我正在使用 LoadVars() 将文本文件加载到字符串变量中。对于代码的最终版本,我希望能够将该文本作为操作脚本代码的一部分并将其分配给字符串,而不是从外部文件加载它。

类似于 PHP 中的 HEREDOC 语法或 AS3 中的 CDATA ( http://dougmccune.com/blog/2007/05/15/multi-line-strings-in-actionscript-3/ )

我发现的快速而肮脏的解决方案是将文本放入影片剪辑中的文本对象中,然后获取值,但我不喜欢它

顺便说一句:文本是多行的,可以包括单引号和双引号。

谢谢!

0 投票
7 回答
22275 浏览

makefile - Makefile中的Heredoc?

这有可能吗?怎么做?

更新:我需要这个,因为我从动态和静态数据创建了一个文件。

用例:我有一个测试目录。每个 C 文件都会生成一个测试可执行文件。和

我可以根据需要添加新的测试,make 会找到新的测试、编译、运行和 valgrind。我也使用 git。我想.gitignore包括可执行文件。

所以在那里。如何创建.gitignore和包含静态数据,即我想被忽略的文件(*.odepend)以及动态的可执行文件?

0 投票
4 回答
2086 浏览

php - 我误解了heredoc应该做什么吗?

我对 PHP 很陌生,所以我知道我在这里遗漏了一些明显的东西——我认为 heredoc 函数应该保留格式、换行符等。但是每当我测试它时,在它解析时,没有格式。我尝试了很多不同的脚本,包括来自 PHP.net 和 W3schools 等来源的复制和粘贴——所以我知道这些脚本没有任何问题。不能用谷歌搜索这个答案 - 可能是因为它太明显了?(顺便说一句,使用 MAMP 进行测试)。谢谢。

0 投票
2 回答
3575 浏览

bash - sqlplus + heredoc中的bash引用变量替换

一定很容易。[编辑] 我正在编写一个 BASH 脚本,使用 HERE 文档将一些语句重定向到 SQL*Plus 命令提示符。

当然这不起作用,因为单引号内没有替换。那我该怎么做呢?我不能这样做, "'%$1%'" 因为双引号仍然作为 SQL*Plus 的输入并导致错误。谢谢你。

0 投票
1 回答
443 浏览

ruby - 有人可以解释这个红宝石代码吗?

从 rails postgresql_adapter.rb。我明白它想要做什么,我只是不明白它是如何发生的。这真的与我迷路的 <<-SQL 有关。

我以前看过代码,你可以说:

但我从未在函数调用的参数中看到过这样做。我真的很困惑。有人可以向我解释这里到底发生了什么吗?

0 投票
1 回答
513 浏览

ruby - 我不明白为什么 string.size 返回它的作用

返回 53。为什么?空格算不算?即便如此。我们如何得到 53?

这个怎么样?

是这种情况吗,因为 %{ 案例将每个字符都计/n为一个字符,并且在第一行之前被认为是一个字符,在末尾一个,然后在第二行末尾,而在这种EOS情况下,在第一行之前只有一个行和第一行之后的一个?也就是说,为什么前者是54,而后者是53?

0 投票
1 回答
501 浏览

ruby - Ruby 的 EOB 构造的用例

我最近在这个上下文中遇到了 Ruby EOB/构造(来自 Ruby id3 库):-EOB

我知道代码用于动态生成方法,但我想知道是否可以EOB在方法中使用代码段。我想编写一个生成其他方法代码的方法,该代码将包含在另一个类中。这听起来有点令人困惑,我将尝试用一些简化的代码示例来说明我的意图:

这会起作用,因为要注入的方法已正确添加。然而,我想知道使用该EOB构造是否会产生一些优势(例如,代码的更好可见性,因为不必添加繁琐的选项卡或字符串连接。

总而言之,这是一个很好的用例EOB吗?这似乎是一个阴暗但功能强大的构造,我已经避开了它,用谷歌搜索并在 stackoverflow 上搜索了它,但除了来自 RubyCocoa代码示例之外,没有返回任何重要的代码示例。我最近才开始在 Ruby 中使用元结构,所以请保持温和 :-)

提前致谢!

0 投票
1 回答
1482 浏览

string - BASH 中的文件意外结束

早上编写一个简单的 bash 脚本为我做一些检查:其中一部分是拉下一些 html 文件并确保它们存在。另一部分是确保一些本地文件存在,如果不存在则通过电子邮件发送。我面临的问题是我收到“语法错误:文件意外结束”,我真的不明白为什么会发生这种情况。这是代码的简化版本:

通过使用 sh -x 我可以看到它将报告的数量分配给 var“numofiles”,但它只是认为这是文件的结尾。有人有什么建议吗?

0 投票
3 回答
10901 浏览

powershell - PowerShell here-strings 中的变量必须在哪里初始化?

我有一个相当复杂的 SQL 查询,我想在 PowerShell 脚本的 here-string 中使用。在查询中,我想用 PowerShell 变量替换某些值。我试图准确了解我需要在哪里声明和初始化将在此处字符串中使用的变量。

简化示例:

我在顶部声明了 here-string,它引用了几个 PowerShell 变量,$bar 和 $quux,每次通过循环都会改变。

但是,我在运行脚本时遇到错误。当我运行 SQL 跟踪时,PowerShell 变量出现在 PS 脚本中的位置没有任何值。

当在这样的字符串中调用时,PowerShell 变量是否会被插值?我是否需要将整个 here-string放在初始化变量的循环中?这样的事情的正确结构是什么?

我在 Windows 7、.Net 4、VS2010 上运行 PowerShell。我不清楚版本;$Host返回

$PSVersionTable返回