I'm rather new to Ruby, and today I wrote an application which you can pass arguments to via ARGV. But inside my application, I want to be able to use "gets". Problem is, every time I try to do so, I get an error.
Here's a simple script which shows my problem:
print "Say something! " input = gets
If I'd call that like this:
$ ruby script.rb this is arguments
I get this error:
script.rb:2:in `gets': No such file or directory - this (Errno::ENOENT) from script.rb:2
Hope someone is able to help me solve this, so I can continue my Ruby journey. :)
Edit: I am aware that "Gets" won't retrieve arguments passed to the file. "Gets" will query the user for input. I want to be able to use both these methods inside my application.
1 : the inner softer part of a seed, fruit stone, or nut. 2 : the whole grain or seed of a cereal plant a kernel of corn. 3 : a very small amount a kernel of truth.
It is the primary interface between the hardware and the processes of a computer. The kernel connects these two in order to adjust resources as effectively as possible. It is named a kernel because it operates inside the OS, just like a seed inside a hard shell.
Kernels are the seeds of cereal grasses. We call the kernels “grain“. The kernels are located at the top of the plant. This area is known as the head of the stalk. We eat the kernel of foods such as corn, wheat, oats, and sorghum.
The Kernel is responsible for low-level tasks such as disk management, memory management, task management, etc. It provides an interface between the user and the hardware components of the system. When a process makes a request to the Kernel, then it is called System Call.
If there are arguments, the default gets
method tries to treat the first one as a file and read from that. To read from $stdin
in such a situation, you have to use it explicitly:
print "Say something! " input = $stdin.gets
You should be using STDIN.gets
not Kernel#gets
.
Some reference.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With