意外的语法错误(

unexpected syntax error (

我在文件中写了下面的代码1_arithmetic.rb:

def arithmetic1(n)
  (n * 5) - 20
end

使用 gem 工具 rake,我在控制台中输入:

rake 1_arithmetic.rb:arithmetic1(5) 

然后,我收到一条错误消息:

syntax error near unexpected token `('

有谁知道我哪里做错了吗?还是我使用的方式有问题rake?

我认为 rake 只能用于 rake 任务。您可以创建一个 rake 任务,然后调用您的方法。

require './1_arithmetic.rb'
task :arithmetic, [:n] => [:environment] do |t, args|
  arithmetic1(args[:n])
end

然后您可以使用

调用任务
rake arithmetic[5]

参考:How can I run a ruby class from rake file?

参考:How to pass command line arguments to a rake task

如果您只想运行那个方法,您不需要rake这样做,您可以只使用ruby命令:

ruby -r./1_arithmetic.rb -e "puts arithmetic1(10)"

-r选项告诉ruby命令到require文件,-e选项告诉ruby到运行代码作为字符串传入。

注意:发布的命令假设文件 1_arithmetic.rb 位于您 运行 从中执行命令的目录中,您需要弄乱该文件路径(./1_arithmetic.rb) 如果它在别的地方。