ruby - 在 Ruby 中,用反斜杠分割字符串是否表示隐式连接?
问题描述
考虑在 Ruby 中按如下方式划分字符串:
"Some content "\
"and some more "\
"and the final line."
以上是否创建了三个 String 对象并将它们连接在一起?或者 Ruby 是否将其视为一个字符串,只是为了方便开发人员在视觉上由反斜杠字符分割(也就是说,反斜杠不是操作数/方法)?
另外,是否有以这种方式划分字符串的单词/术语,或者只是另一种连接方式?
解决方案
字符串文字的自动连接
从技术上讲,您正在创建三个字符串文字,然后由解释器自动连接。这在此处记录,其中说:
解释器自动连接相邻的字符串文字。只要百分比字符串不是最后一个,任何相邻的单引号、双引号、百分比字符串的组合都将被连接。
在您的具体示例中,为了自动连接,在每行代码的末尾转义换行符会使它们“相邻”。它忽略了字符串之间的空格,因此以下内容在逻辑上也等同于您的原始示例:
"Some content "'and some more '"and the final line."
#=> "Some content and some more and the final line."
"Some content " "and some more " "and the final line."
#=> "Some content and some more and the final line."
推荐阅读
- multisite - ATG 404 not found error time 未设置多站点 ID 和站点类型
- javascript - Axios POST错误的时区VueJs 3
- javascript - 如何在javascript中的嵌套树数组中过滤和排序?
- sql - 从 VBScript 中的 SQL SP 获取结果
- mysql - 包含 presto Athena 中的字符串函数
- excel - 基于日期与当前日期比较的总和值
- php - 如何使用 Exchange 服务器使用 smtp 服务器配置在 php 中发送邮件
- pdf - MS word 打印一种文档失败,其他文档打印成功
- reactjs - 在 ReactJS 静态 Web 应用程序中滚动时平滑标题过渡
- android - 如何检查 PeriodicWorkRequest 是否已完成?