作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
这是我的程序:
def calculate(*numbers, options = {})
add(numbers) if options[:add]
subtract(numbers) if options[:add] == false
end
def add(*numbers)
numbers.reduce(:+)
end
def subtract(*numbers)
numbers.reduce(:-)
end
p calculate(1,2)
在第一行,它在提示
tests.rb:1: syntax error, unexpected '=', expecting ')'
def calculate(*numbers, options = {})
________________________________________________^
[Finished in 0.1s with exit code 1]
我认为这可能是 Ruby 中默认值的问题,因为在 v1.9 之前,您需要按顺序拥有所有默认值 - 但这不应该是问题,因为我的版本是
ruby 2.0.0p195 (2013-05-14) [i386-mingw32]
我试过调换所有空格,因为在涉及方法时,ruby 似乎对这些东西很特别,但没有骰子。
会不会是我的 splat 变量 *numbers
?
最佳答案
splat 的意思是“用完所有剩余的参数”,但随后您提供了一个可选参数,那么解释器如何知道最后一个参数是“数字”splat 还是可选“选项”的一部分?
关于ruby - splat 参数后的可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17173034/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!