[#358392] Increase significant digits in Float — Jason Lillywhite <jason.lillywhite@...>

If I want to increase my significant digits beyond 15 in a result of a

12 messages 2010/03/02

[#358431] A gem for handling temporary file(s)? — Albert Schlef <albertschlef@...>

I'm writing a program that needs to generate two or three temporary

21 messages 2010/03/03
[#358432] Re: A gem for handling temporary file(s)? — Paul Harrington <xenogenesis@...> 2010/03/03

Albert Schlef wrote:

[#358443] Re: A gem for handling temporary file(s)? — Albert Schlef <albertschlef@...> 2010/03/03

Paul Harrington wrote:

[#358486] Re: A gem for handling temporary file(s)? — Caleb Clausen <vikkous@...> 2010/03/03

On 3/2/10, Albert Schlef <albertschlef@gmail.com> wrote:

[#358485] Test::Unit::Omission - Unable to omit tests — Champak Ch <champaka@...>

I am trying to omit some tests while using the test unit framework. My

12 messages 2010/03/03

[#358551] Shared hosting recommendation? — Rafael Vega <email.rafa@...>

Hello!

10 messages 2010/03/04

[#358559] Limit number of concurrent running threads in pool — Joe Martin <jm202@...>

Hi

14 messages 2010/03/04

[#358576] A good portable text editor/IDE for Ruby? — Reiichi Tyrael <xxreiichixx@...>

I am searching for a good portable text editor or IDE for Ruby to use on

19 messages 2010/03/05

[#358586] Base-64 encoding--Just for the fun of it! — "Aaron D. Gifford" <astounding@...>

Yes, there's always:

10 messages 2010/03/05

[#358611] On what of these books is better to start to study Ruby? — Vlad Gerasimov <refermaker@...>

I have 3 books:

12 messages 2010/03/05

[#358634] Conditional keys in hash - out of the box? — "Sven S." <svoop@...>

Hi

12 messages 2010/03/05

[#358661] Why no TextMate for Linux? — thunk <gmkoller@...>

I spent some happy development time in "VisualAge" for Smalltalk +

42 messages 2010/03/06

[#358702] win32console 1.3.0.beta2 Released — Luis Lavena <luislavena@...>

win32console version 1.3.0.beta2 has been released!

17 messages 2010/03/07

[#358757] Shortest code — Prasanth Ravi <dare.take@...>

hi i'm a newbie in ruby and was test out some interesting problems in

18 messages 2010/03/08

[#358885] reading an UTF-8 encoded file — unbewusst.sein@... (Une B騅ue)

13 messages 2010/03/10

[#359008] Dir.glob problem — David Vlad <cluny_gisslaren@...>

In the program Im making I need to read some wma files into a variable

21 messages 2010/03/12

[#359031] Newbie Help : Object — Jerome David Sallinger <imran.nazir@...>

Hello,

14 messages 2010/03/13

[#359090] Overriding new? — Andrea Dallera <andrea@...>

Hi everybody,

19 messages 2010/03/15
[#359091] Re: Overriding new? — Chuck Remes <cremes.devlist@...> 2010/03/15

[#359093] Re: Overriding new? — Andrea Dallera <andrea@...> 2010/03/15

Hei Chuck,

[#359130] Recommended way to install Rubygems — Leslie Viljoen <leslieviljoen@...>

Hi!

64 messages 2010/03/16
[#359175] Re: Recommended way to install Rubygems — Eric Hodel <drbrain@...7.net> 2010/03/17

On Mar 16, 2010, at 03:22, Leslie Viljoen wrote:

[#359176] Re: Recommended way to install Rubygems — Lucas Nussbaum <lucas@...> 2010/03/17

(Please Cc me when replying, I don't follow ruby-talk@ closely enough to

[#359183] Re: Recommended way to install Rubygems — Nick Brown <nick@...> 2010/03/18

Lucas: Thanks for maintaining the Ruby package in Ubuntu!

[#359187] Re: Recommended way to install Rubygems — Lucas Nussbaum <lucas@...> 2010/03/18

On 18/03/10 at 13:36 +0900, Nick Brown wrote:

[#359200] Re: Recommended way to install Rubygems — Nick Brown <nick@...> 2010/03/18

Lucas Nussbaum wrote:

[#359204] Re: Recommended way to install Rubygems — Lucas Nussbaum <lucas@...> 2010/03/18

On 18/03/10 at 23:05 +0900, Nick Brown wrote:

[#359210] Re: Recommended way to install Rubygems — Rick DeNatale <rick.denatale@...> 2010/03/18

On Thu, Mar 18, 2010 at 10:21 AM, Lucas Nussbaum

[#359215] Re: Recommended way to install Rubygems — Lucas Nussbaum <lucas@...> 2010/03/18

On 18/03/10 at 23:45 +0900, Rick DeNatale wrote:

[#359230] Re: Recommended way to install Rubygems — Aldric Giacomoni <aldric@...> 2010/03/18

Lucas Nussbaum wrote:

[#359233] Re: Recommended way to install Rubygems — Lucas Nussbaum <lucas@...> 2010/03/18

On 19/03/10 at 02:49 +0900, Aldric Giacomoni wrote:

[#359171] Replace Text at Specific Positions Across Files — Shiny Hydra <slotriof@...>

Hello everyone,

12 messages 2010/03/17
[#359192] Re: Replace Text at Specific Positions Across Files — Robert Klemme <shortcutter@...> 2010/03/18

2010/3/17 Shiny Hydra <slotriof@guerrillamailblock.com>:

[#359198] Re: Replace Text at Specific Positions Across Files — Shiny Hydra <slotriof@...> 2010/03/18

> So your file has fixed width records? This is important to know,

[#359255] Grouping elements of an array — Steve Wilhelm <steve@...831.com>

I have an array of records that contain timestamps at random intervals.

24 messages 2010/03/18

[#359354] Living with a Swarm of Boids - A report from the front — thunk <gmkoller@...>

Hi,

15 messages 2010/03/20

[#359388] A plugin system using extend — Jean-denis Vauguet <jd@...>

Hi.

17 messages 2010/03/21
[#359394] Re: A plugin system using extend — Josh Cheek <josh.cheek@...> 2010/03/21

On Sat, Mar 20, 2010 at 9:46 PM, Jean-denis Vauguet <jd@vauguet.fr> wrote:

[#359398] Re: A plugin system using extend — Jean-denis Vauguet <jd@...> 2010/03/21

Thank you Josh. Actually I've already tested what you wrote and that's

[#359402] Re: A plugin system using extend — Jean-denis Vauguet <jd@...> 2010/03/21

Another idea I had is the following:

[#359410] Re: A plugin system using extend — James Edward Gray II <james@...> 2010/03/21

On Mar 21, 2010, at 2:13 AM, Jean-denis Vauguet wrote:

[#359420] Reading contents of all files from a Directory — Hawksury Gear <blackhawk_932@...>

Hello,

23 messages 2010/03/21
[#359422] Re: Reading contents of all files from a Directory — Jonathan Nielsen <jonathan@...> 2010/03/21

> I am trying to "Read Content" of all the files from a Directory. So far

[#359423] Re: Reading contents of all files from a Directory — Jonathan Nielsen <jonathan@...> 2010/03/21

> arr =3D Dir.open("K:/test").entries

[#359464] Re: Reading contents of all files from a Directory — Robert Klemme <shortcutter@...> 2010/03/22

2010/3/21 Jonathan Nielsen <jonathan@jmnet.us>:

[#360368] Re: Reading contents of all files from a Directory — Hawksury Gear <blackhawk_932@...> 2010/04/04

> If it is only for output purposes, we can actually do it in one line:

[#360370] Re: Reading contents of all files from a Directory — Jes俍 Gabriel y Gal疣 <jgabrielygalan@...> 2010/04/04

On Sun, Apr 4, 2010 at 3:06 PM, Hawksury Gear <blackhawk_932@hotmail.com> w=

[#360373] Re: Reading contents of all files from a Directory — Hawksury Gear <blackhawk_932@...> 2010/04/04

Thanks for replying ,when I am doing

[#360374] Re: Reading contents of all files from a Directory — Hassan Schroeder <hassan.schroeder@...> 2010/04/04

On Sun, Apr 4, 2010 at 8:16 AM, Hawksury Gear <blackhawk_932@hotmail.com> wrote:

[#360375] Re: Reading contents of all files from a Directory — Hawksury Gear <blackhawk_932@...> 2010/04/04

Hassan Schroeder wrote:

[#359662] index of string from beginning of line vs beginning of file — "Jesse B." <jessebos@...>

I am trying to write a basic script to implement "silent comments"

10 messages 2010/03/25
[#359663] Re: index of string from beginning of line vs beginning of file — Jes俍 Gabriel y Gal疣 <jgabrielygalan@...> 2010/03/25

On Thu, Mar 25, 2010 at 5:19 PM, Jesse B. <jessebos@aol.com> wrote:

[#359684] Ruby Summer of Code 2010 — Jeremy Kemper <jeremy@...>

Fellow Rubyists, I'm proud to announce the first annual Ruby Summer of Code.

20 messages 2010/03/26
[#359985] Re: [ANN] Ruby Summer of Code 2010 — Roger Pack <rogerpack2005@...> 2010/03/30

Jeremy Kemper wrote:

[#359697] Ruby and user documentation — Michel Demazure <michel@...>

Hi all,

20 messages 2010/03/26

[#359749] Boid writeup idea — thunk <gmkoller@...>

30 messages 2010/03/26

[#359909] return number of spaces at the beginning of a line — "Jesse B." <jessebos@...>

How would I find the number of spaces at the beginning of a line before

28 messages 2010/03/30
[#359925] Re: return number of spaces at the beginning of a line — Josh Cheek <josh.cheek@...> 2010/03/30

On Mon, Mar 29, 2010 at 8:41 PM, Jesse B. <jessebos@aol.com> wrote:

[#359941] Re: return number of spaces at the beginning of a line — Robert Klemme <shortcutter@...> 2010/03/30

2010/3/30 Josh Cheek <josh.cheek@gmail.com>:

[#359945] Re: return number of spaces at the beginning of a line — "Jesse B." <jessebos@...> 2010/03/30

This second post with the "spaces only" fix seems to meet all the needs

[#359961] Re: return number of spaces at the beginning of a line — Robert Klemme <shortcutter@...> 2010/03/30

2010/3/30 Jesse B. <jessebos@aol.com>:

[#360011] RubyDictionary - First Try — Max Schmidt <max.schmidt.privat@...>

Hello folks,

12 messages 2010/03/30
[#360035] Re: RubyDictionary - First Try — Jes俍 Gabriel y Gal疣 <jgabrielygalan@...> 2010/03/31

On Wed, Mar 31, 2010 at 12:40 AM, Max Schmidt

[#360033] Playing Games with "Ruids" — thunk <gmkoller@...>

46 messages 2010/03/31

Re: Help a noob.

From: Josh Cheek <josh.cheek@...>
Date: 2010-03-25 08:07:11 UTC
List: ruby-talk #359616
On Thu, Mar 25, 2010 at 12:08 AM, Omar Velez <dr_omar_velez@hotmail.com>wrote:

> Ok,  I have been programming for two days now.  Ruby is my first
> language ever.  But all the books I look for already assume you have a
> good deal of knowledge in programming.  Does anyone know where I can get
> a good basic start that will give me lots of examples?  Also if it is
> possible can someone please tell me what I am doing wrong?  This is my
> first program so please do not make too much fun of me.  Thanks yall.
>
> -Mehektet-
>
> This is my program...
>
> # Program will ask for a persons personal information and then display
> # the results on the screen.  Finally it will ask a person to give their
> # favourite number and then add it to their age and suggest a new
> # favourite number.
>
>
>
> puts 'What is your first name?'
> Fname = gets.chomp
> puts 'What is your middle name?'
> Mname = gets.chomp
> puts  'What is your last name?'
> Lname = gets.chomp
>
> puts ''
>
> puts 'What is your age?'
> Age = gets.chomp
>
> puts ''
>
> puts 'What is your favourite number?'
> Fnum = gets.chomp
>
> puts ' '
>
> puts 'This is your information...'
> puts 'You are ' +Fname+ ' '  +Mname+ ' ' +Lname+ '.'
> puts 'Your age is ' +Age+ '.'
> puts 'And your favourite number is ' +Fnum+ '.'
>
>
> C = Fnum.to_i
> A = Age.to_i
>
> NFnum = C + A
>
>
> puts 'Maybe, your favourite number should be ' +NFnum+ '.'
> --
> Posted via http://www.ruby-forum.com/.
>
>
Hi, Omar.

As you have realized, you need to convert the the age and Fnum to integers
in order to add them. Now that you want to add them to the strings, though,
you need to convert them back to strings. You can do this with the to_s
method. So you should change
puts 'Maybe, your favourite number should be ' +NFnum+ '.'
into
puts 'Maybe, your favourite number should be ' +NFnum.to_s+ '.'

-----

A few suggestions for you:


In Ruby, constants begin with uppercase letters, and variables begin with
lowercase letters. While they don't change in this particular program, the
name and age and so on are really more variables than constants. Maybe the
user has a birthday, or gets married and changes their surname. So I would
use lowercase variables here. For example:
puts 'What is your first name?'
fname = gets.chomp


Personally, I'd even call it first_name because you're going to have to read
it later. Since Ruby is dynamically typed, descriptive variable names can
help you avoid a lot of errors, as they imply what kind of data they
contain. Fnum, for example, doesn't mean anything to me until I read the
code to see how it is used. But favourite_num is pretty fairly forward. If
you don't like the additional typing, a good text editor should do
completion for you, where you type the firs few characters and press a key
to have it figure out what name you are writing and complete it for you.


I would store the numeric variables as numbers. That is really what they
are, and you shouldn't store them as something different just because that
is the format you received them in. You can see that it even created a
headache for you, having to create two new variables to hold the integer
versions (that is also partially due to using constants).
So I would change
puts 'What is your favourite number?'
Fnum = gets.chomp
into
puts 'What is your favourite number?'
favourite_num = gets.chomp.to_i


Regarding the above example, to_i will convert a string to an integer, up
until it finds a non numeric character. You use .chomp to remove the
newline, but to_i will stop there automatically, so it can be simplified
further with
puts 'What is your favourite number?'
favourite_num = gets.to_i


You are creating your string by concatenating. That is just a fancy way of
saying that you use the plus sign :) In most cases with Ruby, it is
preferable to use interpolation, which is a fancy way of saying that you
embed the value inside the string rather than adding it to the string. This
is a little bit more efficient, and most of the time is easier to read. It
also has the nice advantage of calling the to_s method for you on whatever
it receives, so, for example, where you have Fnum.to_s, you could just leave
as Fnum. The interpolated version would look like this
puts 'Maybe, your favourite number should be ' +NFnum.to_s+ '.'
becomes
puts "Maybe, your favourite number should be #{NFnum}."
You need to use double quotes when interpolating, and wherever you have
#{...} inside of it, that is a little area where you can place your code.


This is just a style thing, and not necessarily an agreed upon community
conclusion, but I would put the print statement and the gets statement on
the same line, and split them with a semicolon. A semicolon tells Ruby that
you are writing a new line, even though all the code is on the same line. So
I would change
puts 'What is your first name?'
Fname = gets.chomp
into
puts 'What is your first name?' ; Fname = gets.chomp
When you get comfortable enough to write functions, try writing one where
you submit the string to be printed, and receive back the variable the user
answered with.


To write a newline, you can just say puts, you don't need the empty string
in there.


I don't know how long it took you to write this, but if you ran it any
decent number of times, you probably sat there tediously entering your
information over and over again. That can get frustrating, but there is a
fairly easy way to get around such things (note this is not a widely used
Ruby practice, and I'm not sure others would sanction it, but I find it a
nice way to save time). In Ruby, at the end of your file, you can write
__END__ and then you can put data down there. That data is accessible to
your program like a file inside the constant DATA. The method .gets pulls
it's data from the global variable $stdin, you can assign DATA to $stdin so
that it instead pulls from the data that you have entered at the end of your
file. This means that you can code in the values you used to have to enter
by hand. Then later, when you want to switch it back, just comment out the
line assigning DATA to $stdin, and it will pull from the actual standard
input, as it currently does, rather than the data at the end of your file.
$stdin = DATA
puts "your name is #{gets.chomp} #{gets.chomp} #{gets.chomp}"
puts "you are #{gets.to_i} years old"
puts "your favourite number is #{gets.to_i}"
__END__
John
James
Doe
25
12

After you get more comfortable, you should move to actual testing :) But
this is a nice simple way to automate input when you just want to test out
an idea real fast. You can also do this from the command line, if you are
using Mac or Linux, by writing that data in a file and using the redirect
operator, which would look like this.
$ruby my_program.rb < my_data.txt


That is pretty much everything I can think of, so if you did everything
above, your program might look like this.
http://pastie.org/private/g4ulbnq2caxjdag5aipnag

In This Thread