意外的语法错误(

时间:2017-08-09 14:45:05

标签: ruby rake

我在文件1_arithmetic.rb中编写了以下代码:

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

使用gem工具rake,我将其输入控制台:

rake 1_arithmetic.rb:arithmetic1(5) 

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

syntax error near unexpected token `('

有谁知道我可能做错了什么?或者问题是我使用rake的方式?

2 个答案:

答案 0 :(得分:0)

我相信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

答案 1 :(得分:0)

如果您要尝试的只是运行该方法,则不需要rake这样做,您只需使用ruby命令:

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

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

注意:发布的命令假设文件1_arithmetic.rb位于您运行命令的目录中,如果它位于其他位置,则需要将该文件路径(./1_arithmetic.rb)弄乱