字符串连接错误

2024-03-30

我遇到了语法错误。我承认这是一个语法错误,但我有点好奇why这是一个语法错误。

这完全按照您的预期工作:

(0..9).each { |n| puts n.to_s + "^2 = " + (n**2).to_s }

这会引发错误:

(0..9).each { |n| puts n.to_s +"^2 = "+ (n**2).to_s }

错误:

NoMethodError: undefined method '+@' for "^2 = ":String

奇怪的是,我可以将第二个加号移动到任何地方,Ruby 似乎对此没有问题,但如果第一个加号碰巧触及双引号,我会收到语法错误。

究竟为什么会发生这种情况?


n.to_s +"^2 = "被解析为n.to_s(+"^2 = "),这在语法上是有效的,意思是“对字符串执行一元加运算^2 =然后将结果作为参数传递给to_s"。但是,由于字符串没有一元加运算(由方法表示+@),你会得到一个NoMethodError (not语法错误)。

它以这种方式解析而不是这样解析的原因n.to_s() + "^2 = "如果这样解析的话puts +5 or puts -x也必须被解析为puts() + 5 and puts() - x而不是puts(+5) and puts(-x)- 在这个例子中,很明显后者就是我们想要的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字符串连接错误 的相关文章

  • 使用试运行选项运行黄瓜时出错

    我试图通过仅打开和关闭浏览器一次来提高运行测试的速度 http watirmelon com 2012 04 01 Five page object anti patterns http watirmelon com 2012 04 01
  • 如何随机生成文件的链接?

    我有一个 PDF 文件 我不想通过我网站上的 URL 公开访问该文件 作为 轻微 安全层 我想通过电子邮件向用户发送一个唯一的 随机生成的 URL 他们可以从中下载 PDF 我将把该 PDF 存储在 AWS 或类似的地方 我感觉自己被困在r
  • Rails——自我与@

    我正在关注 Michael Hartl 的 RoR 教程 它涵盖了密码加密的基础知识 这是当前的用户模型 class User lt ActiveRecord Base attr accessor password attr accessi
  • 广告过滤服务器端[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在开发一个 Web 应用程序 在其中显示来自其他网站的 HTML 在显示最终版本之前 我想去掉广告 关于如何实现这一目标有什么想法
  • 这个角色是什么? ➡️0080➡0099

    这个字符是什么 u0080 u0099 这应该是撇号或单引号 我如何将它 使用 Ruby 转换为简单的单引号 或者在网页中将其作为单引号正确显示 Thanks 这是一个印刷正确的撇号 更准确地说是右单引号 U 2019 经过一些错误的字符代
  • Bundler 似乎无法通过 Rbenv 找到正确的 Ruby

    多年来我一直使用 RVM 作为 Ruby 版本管理器 但由于其简单性 我想改用 rbenv 但是我在部署时发现了一些奇怪的问题 这似乎是错误的地方 env RBENV ROOT home deploy rbenv PATH home dep
  • Ruby—Open3.popen3 / 如何打印输出

    我有一个小红宝石脚本 它的作用是mysql导入方式 mysql u
  • Rails 4.0 expire_fragment/缓存过期不起作用

    我一直在尝试使用 Rails 的缓存功能 但我无法使某些缓存片段过期 尽管它们似乎已过期 使用 Rails 教程网站中指出的 Russian Doll Caching 我正在使用此配置 我使release controller rb 控制器
  • 在 Ruby 中从一个数组减去另一个数组

    我有两个任务数组 创建和分配 我想从创建的任务数组中删除所有分配的任务 这是我的工作代码 但很混乱 assigned tasks user assigned tasks created tasks user created tasks Do
  • Rails 和 Mysql 的毫秒数

    使用 Rails Mysql 时存储时间 以毫秒为单位 的最佳方式是什么 我将使用小数和composed of 以便能够将该值作为Ruby 时间进行操作 有人有更好的主意吗 自从提出这个问题以来 已经过去了好几年了 这是更新的解决方案 ht
  • 定制导轨配置部分

    为 Rails 应用程序创建自定义配置部分的最佳方法是什么 理想情况下 我希望最终结果是一个 api 调用 例如 Rails configuration foo bar Rails configuration foo baz e g Rai
  • Rails 应用程序中的持久 TCP 连接

    我有一个在服务器上运行的第三方应用程序 它对客户端进行身份验证并返回响应 我的问题是 对于我收到 Rails 应用程序的每个请求 我都需要建立 TCP 连接并获取数据 是否可以有一个持久连接 以便我可以减少建立连接的开销 我希望你使用的是
  • RSpec 抛出分段错误

    有时我的测试套件会无缘无故地抛出分段错误 这是输出 Users Test rvm gems ruby 1 9 3 p392 gems activerecord 3 2 9 lib active record relation query m
  • 如何在启动 Rails 控制台时自动运行代码?

    假设每次 Rails 控制台出现时我都想要一个问候语 Scotts MBP 4 ucode scott rails c Loading development environment Rails 4 2 1 Hello there I m
  • Rails-自定义删除前确认对话框的视图

    要删除 Rails 中的记录 我使用此代码 result of which I get dialog box like this But I wants this dialog box to look like this 有没有办法自定义确
  • 如何按值降序对哈希进行排序并在 ruby​​ 中输出哈希?

    output sort by k v v reverse 和钥匙 h a gt 1 c gt 3 b gt 2 d gt 4 gt a gt 1 c gt 3 b gt 2 d gt 4 Hash h sort 现在我有这两个 但我试图按值
  • 遏制gem安装:捆绑安装失败,但正常gem安装有效[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions solve
  • 如何将命令行参数传递给 rake 任务

    我有一个 rake 任务需要将一个值插入到多个数据库中 我想从命令行或从another耙任务 我怎样才能做到这一点 您可以通过向任务调用添加符号参数来指定 rake 中的形式参数 例如 require rake task my task a
  • 使用 Ruby 验证 Jenkins 插件表单

    我正在用 Ruby 开发一个 Jenkins 插件 您应该能够配置连接到服务器的每个节点 以便在该节点失去与主服务器的连接时将电子邮件发送到指定的地址 EmailNodeProperty添加一个字段来输入电子邮件地址 Save an ema
  • 执行 rvm use 2.0.0 --default 时收到“警告!路径未正确设置”

    以上第一次不起作用 第二次起作用 尝试将任何新 shell 窗口的 ruby 版本设置为 2 0 0 Doing rvm use 2 0 0 default gives Warning PATH is not properly set up

随机推荐

  • 将部分日期存储在数据库中

    我想将部分日期存储在关系数据库 MySQL PostgreSQL 等 中 例如 输入可能只是年份 2013 年和月 2013 08 或年 月 日 2013 08 29 我不能只使用普通的 DATE 类型 因为年份将扩展到 2013 01 0
  • 如何配置 Visual Studio 2017 来运行 Gstreamer 教程?

    我使用的是 Windows 10 我无法配置 Visual Studio 2017 来运行基本的 Gstreamer 教程 我收到诸如 无法打开 gst gst h 之类的错误 我正在使用 gstreamer 1 0 请帮忙 朋友你好 首先
  • XML 文档中需要转义哪些字符?

    XML 文档中必须转义哪些字符 或者在哪里可以找到这样的列表 如果您使用适当的类或库 他们将为您进行转义 许多 XML 问题都是由字符串连接引起的 XML 转义字符 只有五个 quot apos lt lt gt gt amp 转义字符取决
  • 如何判断 Windows 用于启动哪个磁盘

    我需要找到一种方法来以编程方式确定 Windows 使用哪个磁盘驱动器启动 换句话说 我需要一种从 Windows 中确定 BIOS 使用哪个驱动器来启动整个系统的方法 Windows 是否公开了一个接口来发现这一点 鉴于 Windows
  • C# 中的解析器 FxCop 结果 Xml 文件

    我以编程方式使用VS2010和Fxcop 10 0 fxcopcmd exe 来生成fxcop分析结果 xml文件 我想要解析器 xml 文件来获取 fxcop 分析结果 在java语言中我发现了这个 http grepcode com f
  • 使用react-router-relay类型增强react-router模块

    默认的react router是这样使用的 import as React from react import Router Route hashHistory from react router const routing
  • Flutter WebView 插件 - 如何处理本地存储变量

    背景 我正在开发一个移动应用程序 其中使用 WebViewScaffold 加载在线目录 此特定目录提供初次访问时的导游服务 问题 每次我导航到目录 WebView 时 游览都会从头开始 这会冻结用户 直到游览完成 我怎样才能避免这种情况发
  • 按变量将 Dunnett 检验中的 P 值提取到表中

    我有一个包含 25 列的列表 我正在通过 Dunnett 测试按组 4 个级别 对其进行测试 我能够使用sapply函数让 Dunnett 按组对所有列起作用 但在将 p 值拉入表中时遇到一些问题 下面是我尝试使用 iris 数据集执行的操
  • 使用 Android Google Maps API 显示热图图层

    我正在 Android 中做一个项目 其中我给出了一个地理点列表 纬度 经度 每个点都有一个关联的海拔 高度 值 我的任务是根据点的高度值创建具有不同颜色的给定地图的热图 有人知道现有的图书馆可以做同样的事情吗 或者 如果有人能够指导如何实
  • 使用 TextFileColumnDataTypes 打开每列数据格式正确的 CSV 文件?

    我正在使用下面的 VBA 代码在 Excel 中打开 csv 文件 该代码模拟 Data Text to Columns 命令 在代码中需要为属性指定一个数组文本文件列数据类型 它为 csv 文件中的每一列指定一个数据格式 2 文本格式 但
  • 使用 linq2db 执行原始 SQL 字符串

    使用 linq2db https github com linq2db linq2db https github com linq2db linq2db 我可以执行原始 SQL 字符串并获取结果吗dynamic 我正在寻找类似 ADO NE
  • 无法在此小部件上方找到正确的提供程序 - Flutter

    我是 Flutter 新手 我在 Flutter 应用程序中使用 Provider 我的 main dart 文件如下所示 import package flutter material dart import package provid
  • 绝对定位忽略父级的填充

    如何使绝对定位元素尊重其父元素的填充 我想要一个内部 div 延伸到其父级的宽度 并放置在该父级的底部 基本上是一个页脚 但孩子必须尊重父母的填充 但它没有这样做 孩子被压在父母的边缘 所以我想要这个 但我得到这个 div style ba
  • 使用jquery检查多个复选框

    我有一个类似的数组 var values 1 3 4 5 我有复选框列表 div div
  • “设置时间戳”怎么会是慢查询呢?

    我的慢查询日志充满了如下条目 Query time 1 016361 Lock time 0 000000 Rows sent 0 Rows examined 0 SET timestamp 1273826821 COMMIT 我猜是set
  • CapnProto 最大文件大小

    目前我们正在使用 ProtocolBuffers 在 python 和 C 之间交换数据 然而 我们遇到了协议缓冲区的最大文件大小限制 并正在考虑将所有内容切换到 Cap n Proto 但是 由于它与协议缓冲区有些相关 我想知道Cap n
  • 在同一应用程序中实施 Stormpath 表单登录/身份验证以及 REST oAuth 身份验证时遇到问题

    我们将 Stormpath 与 Java 结合使用 并尝试在同一应用程序上将表单登录与 REST API 身份验证结合起来 我已经按照此处所述设置了stormpath servlet插件https docs stormpath com ja
  • 使用 Cygwin 的 Git 克隆项目时出现问题

    当我尝试使用 Cygwin 的 Git 2 7 0 克隆项目时 我遇到了一些与权限相关的问题 也就是说 每次我尝试运行克隆项目的可执行文件之一时 我都会收到下一个错误 Windows 无法访问指定的设备 路径或文件 您可能没有访问该项目的适
  • Hibernate java.lang.NoSuchMethodError: > org.hibernate.integrator.internal.IntegratorServiceImpl.

    在我的 jax rs 上使用 hibernate 我收到此错误 HTTP 错误 500 访问 services dateTest 时出现问题 原因 Server Error Caused by java lang ExceptionInIn
  • 字符串连接错误

    我遇到了语法错误 我承认这是一个语法错误 但我有点好奇why这是一个语法错误 这完全按照您的预期工作 0 9 each n puts n to s 2 n 2 to s 这会引发错误 0 9 each n puts n to s 2 n 2