ruby - 有谁知道为什么 IRB 在块中给出语法错误?
问题描述
这只是普通的红宝石。任何想法为什么下面的代码会引发语法错误?
irb(main):001:0> def count_valid_policies(input)
irb(main):002:1> counter = 0
irb(main):003:1> policies = input.split("\n")
irb(main):004:1> policies.each do |policy|
irb(main):005:2* valid?(policy) && counter++
irb(main):006:2* end
irb(main):007:1>
irb(main):008:1> puts counter
irb(main):009:1> end
Traceback (most recent call last):
1: from /usr/local/bin/irb:11:in `<main>'
SyntaxError ((irb):6: syntax error, unexpected keyword_end)
end
^~~
(irb):9: syntax error, unexpected end-of-input, expecting keyword_end
解决方案
因为counter++
不是有效的 ruby 表达式。您应该将其替换为counter += 1
.
推荐阅读
- sql - 什么信息存储在plsql的上下文区域中?
- python - 格式化字符串和数字的对齐方式
- google-apps-script - 如何在保持显示格式的同时通过电子邮件发送特定范围的单元格?
- highcharts - 如何使 highchart 蜘蛛图的标题空白消失?
- security - 用户保持变量不变的最佳方法是什么?
- python - 按多个规则排序
- xamarin - 选项卡栏标题和图标空间问题
- docker - Docker 容器的开发标签和运行时标签有什么区别?
- java - 如何从我的 Firebase DDBB 中的对象获取 ID/Key,知道该对象的所有其他数据?
- powerbi - 如何在 Reporting Server 中设置默认页面,以便用户每次打开报告文件时都可以使用指定的过滤器登陆特定页面?