How do I use “gets” on a rake task?

2019-03-09 14:47发布

问题:

I get an error whenever I try to use the function gets within a rake task. Is there a way to make it work?

The error says, "no such file or directory - (rake task name)"

回答1:

The problem is that Kernel#gets (which is what you're calling if you just use gets by itself) assumes you're pulling from a file named by the arguments passed to Rake. That means gets tries to return the content of a file called [rake-task-here], which almost certainly doesn't exist.

Try STDIN.gets.



回答2:

I don't think that you should be using gets in a rake task, if you need to get input from the command line you probably should pass it in as a parameter, but if you post some code that is not working then I am sure you will get a better answer.