basic beginner help needed

K

Karl Halvorson

I am new to Ruby and have been looking for some basic beginner help. I
have not been able to find a beginner forum anywhere, so I apologize if
this is too basic a question for this group. I have installed ruby
1.9.1 on my windows 7 pc and have had success using interactive ruby
(and the Windows command prompt). Where I am stuck is creating a script
in notepad and then running that script. It seems a bit peculiar to me
that all the beginning tutorials that I have tried just say to create
these scripts, but they don’t mention where they need to be saved. I
also have not come across any tutorials that cover configuring the ruby
file path. I believe I have written and named the scripts properly, but
when I try to open them, I get the error message:

NameError: undefined local variable or method ‘hello’ for main:Object
from (irb):1
from C:/Ruby191/bin/irb:12:in ‘<main>’

Any help would be much appreciated.
 
P

Phani Medicharla

Hello Karl,

Try going through these books to get started in Ruby -
http://www.humblelittlerubybook.com/book/hlrb.pdf
http://www.sapphiresteel.com/The-Book-Of-Ruby

I have quoted these as they are readily available on the internet for
free. And as pointed out by Heruacles, posting the code snippet with
which you have a problem will help the forum give you better answers.

After you write code in notepad (try notepad++ or any other code editor
which will give you syntax highlighting, this will help you learn
easily) save the file with a .rb extension anywhere on your computer
(have a separate folder for this to keep your ruby files in one place).

Setting the PATH environment variable to the ruby->bin folder helps you
launch the ruby interpreter from the command line (from any path). If
you have installed ruby in your C drive for e.g., the bin dir would be
c:\ruby-1.9.1\bin
Add this path to the PATH environment variable.

After this, you can open command prompt, navigate to the path where you
saved your ruby file and type 'ruby filename'. For e.g, if you have
saved your file in a folder called 'my scripts' on D with the name
'first.rb', you must type the following in the command prompt
D:\my scripts>ruby first.rb
 
C

Colin Bartlett

I am new to Ruby and have been looking for some basic beginner help. I
have not been able to find a beginner forum anywhere, so I apologize if
this is too basic a question for this group. I have installed ruby
1.9.1 on my windows 7 pc and have had success using interactive ruby
(and the Windows command prompt). Where I am stuck is creating a script
in notepad and then running that script. It seems a bit peculiar to me
that all the beginning tutorials that I have tried just say to create
these scripts, but they don=92t mention where they need to be saved. I
also have not come across any tutorials that cover configuring the ruby
file path. I believe I have written and named the scripts properly, but
when I try to open them, I get the error message:

NameError: undefined local variable or method =91hello=92 for main:Objec= t
from (irb):1
from C:/Ruby191/bin/irb:12:in =91<main>=92

My apologies if the following is too elementary.

I don't know how other users run Ruby programs from Microsoft Windows, but =
I
mostly use batch files.
Or, to be precise, one batch file which takes various parameters to run
different Ruby programs using different versions of Ruby. (There are some
online utilities to help you do that, but I've temporarily forgotten what
they are called!)

A simple version is the following. Suppose you save your ruby program as
progname.rb in
C:\ruby_programs_directory\
or whatever you want to call the directory. (It doesn't have to be a
directory in the root.)
You can set up a Microsoft Windows batch file with the following command
call "C:\ruby19\bin\ruby.exe" -v "C:\ruby_programs_directory\%1.rb"
suppose we call that batch file rr.bat
Then you can run the ruby program progname.rb by going into
a Command Prompt window and typing.
rr %1

Does that help any?

(As X Heruacles said, if you post the script you have written, and also the
commands you are using to try to run it, then we may eb able to give you a
correction. From the error message, you are trying to run the script in
IRB?)
 
K

Karl Halvorson

Thank you all for your input. After reading the comments I took the
advice of reading the two on-line tutorials, so this is where I am now:
I have switched to a different computer that has the Windows XP
operating system, have installed Ruby 1.9.1 on it (with ruby.exe located
in ‘C:\Ruby191\bin’), I downloaded and installed the SciTE editor
recommended by Mr. Neighborly’s Humble Little Ruby Book, and have been
successful in getting the SciTE editor to open scripts located in
‘C:\Documents and Settings\Karl Halvorson\My Documents\Ruby\My Ruby
Tutorial scripts’. The tutorials with this editor started out fine, I
entered the text

puts "Hello, World."

Into the text editor, pressed go and got
ruby hello.rb Hello, World.
Exit code: 0

To me that looked like it worked the way it was supposed to.
I then went on to the next step and typed the following into the text
editor:

puts "Hello, World. What is your name?"
myname = gets()
puts "Well, hello there " + myname + "."

I was instructed to save the file again, so I did, as hello2.rb, and ran
it again from the editor by pressing go. What I returned in the right
pane of the editor was:
ruby hello2.rb

Also, the Windows Command Prompt opened up with
‘C:\Ruby191\bin\ruby.exe’ at the top in the menu bar, but nothing in the
black screen except for a blinking cursor (see attached image1). I tried
typing in the black screen, but was unable to. The tutorial stated, “you
should see a greeting, be asked for your name, and then greeted by
name.†None of this happened.

Any suggestions what to try next?

Also, Phaneee5, could you explain, in beginner language (step-by-step)
what you mean by “Setting the PATH environment variable to the ruby->bin
folderâ€, for this is not covered in any of the biginning tutorials that
I have read? The part I really don’t understand is “Add this path to the
PATH environment variable.†The path to ruby.exe on my computer is
‘C:\Ruby191\bin’, but what exactly is the ‘PATH environment variable’?
and how exactly do I add ‘C:\Ruby191\bin’ to it?

Thank you all again for your help.


Phani said:
Hello Karl,

Try going through these books to get started in Ruby -
http://www.humblelittlerubybook.com/book/hlrb.pdf
http://www.sapphiresteel.com/The-Book-Of-Ruby

I have quoted these as they are readily available on the internet for
free. And as pointed out by Heruacles, posting the code snippet with
which you have a problem will help the forum give you better answers.

After you write code in notepad (try notepad++ or any other code editor
which will give you syntax highlighting, this will help you learn
easily) save the file with a .rb extension anywhere on your computer
(have a separate folder for this to keep your ruby files in one place).

Setting the PATH environment variable to the ruby->bin folder helps you
launch the ruby interpreter from the command line (from any path). If
you have installed ruby in your C drive for e.g., the bin dir would be
c:\ruby-1.9.1\bin
Add this path to the PATH environment variable.

After this, you can open command prompt, navigate to the path where you
saved your ruby file and type 'ruby filename'. For e.g, if you have
saved your file in a folder called 'my scripts' on D with the name
'first.rb', you must type the following in the command prompt
D:\my scripts>ruby first.rb


Attachments:
http://www.ruby-forum.com/attachment/4883/Image1.jpg
 
J

James

Thank you all for your input. After reading the comments I took the
advice of reading the two on-line tutorials, so this is where I am now:
I have switched to a different computer that has the Windows XP
operating system, have installed Ruby 1.9.1 on it (with ruby.exe located
in =91C:\Ruby191\bin=92), I downloaded and installed the SciTE editor
recommended by Mr. Neighborly=92s Humble Little Ruby Book, and have been
successful in getting the SciTE editor to open scripts located in
=91C:\Documents and Settings\Karl Halvorson\My Documents\Ruby\My Ruby
Tutorial scripts=92. The tutorials with this editor started out fine, I
entered the text

puts "Hello, World."

Into the text editor, pressed go and got


To me that looked like it worked the way it was supposed to.

Looks that way here, too. Good work!


I then went on to the next step and typed the following into the text
editor:

puts "Hello, World. What is your name?"
myname =3D gets()
puts "Well, hello there " + myname + "."

I was instructed to save the file again, so I did, as hello2.rb, and ran
it again from the editor by pressing go. What I returned in the right
pane of the editor was:


Also, the Windows Command Prompt opened up with
=91C:\Ruby191\bin\ruby.exe=92 at the top in the menu bar, but nothing in = the
black screen except for a blinking cursor (see attached image1). I tried
typing in the black screen, but was unable to. The tutorial stated, =93yo= u
should see a greeting, be asked for your name, and then greeted by
name.=94 None of this happened.

Any suggestions what to try next?
Sure thing. I ran your code and saw the same output. So you're doing
everything right, this is something with scite. I have no real idea what's
happening to make the process hang, but a little research shows that it's
related to the call to gets, and further research shows that this is a know=
n
problem with scite.

There's a solution, though! Running the script from the command prompt will
work fine.

StartMenu -> All Programs -> Ruby191 -> "Start Command Prompt with Ruby"
cd "C:\Documents and Settings\Karl Halvorson\My Documents\Ruby\My
Ruby Tutorial scripts"

Now run the script using ruby! Type:
ruby "name of script"


Also, Phaneee5, could you explain, in beginner language (step-by-step)
what you mean by =93Setting the PATH environment variable to the ruby->bi= n
folder=94, for this is not covered in any of the biginning tutorials that
I have read? The part I really don=92t understand is =93Add this path to = the
PATH environment variable.=94 The path to ruby.exe on my computer is
=91C:\Ruby191\bin=92, but what exactly is the =91PATH environment variabl= e=92?
and how exactly do I add =91C:\Ruby191\bin=92 to it?

Thank you all again for your help.
http://support.microsoft.com/kb/310519 discusses environment variables,
including the PATH. With the ruby windows installer, you get the shortcut
that we used above to start a command prompt with the right environment for
using ruby. However, if you want you set up your environment so that it's
always correct for running ruby from the command line, so that you can use =
a
regular command prompt to run ruby programs instead of needing to use the
specific shortcut that the installer gave you.
 
K

Karl Halvorson

Thanks James!

The scripts are working from 'Start Comand Promp with Ruby' as you
instructed. I think the problem with the command prompt before was not
first switching to the directory where the .rb files are located. I
think it is odd that the three or more tutorials that I have looked at
do not mention this.

Thanks again for all your help.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top