Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
Variable types in Ruby

In Ruby:

* Variable with names starting with a lower case letter are local variables

* Names starting with a capital letter are constants - you can set them once each time you run a program and then they are fixed

* Names starting with a single @ character are object variables - in other words, you'll usually create one of each of the @ variables in an object for each object of the class you create. (I say "usually" as Ruby is dynamic and you can add variable to an object long after you have run the constructor if you really want to!)

* Names starting with two @ characters are class variables - so you create just one for the whole class which is shared between all instances.

* Names starting with a $ are global variables which you can refer to anywhere in your code.

You do NOT declare whether a variable is an int, a float or a scaly_anteater in Ruby, as all variables contain objects - and indeed a variable may contain a string at one point in your program, a cube at a later point and can finish up as a puff_of_smoke.

Here's an example piece of code.

def initialize(diameter,colour="white")
  @diam = diameter
  @colour = colour
  @@ndisc += 1
  $ticker += 1
  tocker = 17
  end


This is a constructor for an object for which who object variables are created - @colour and @diam. There is also a class variable called @@ndisc which is incremented every time this constructor is run, And $ticker is a global variable - it can be reference anywhere else in the code. The bare variables diameter, colour and tocker are local - and the tocker variable appears to be pointless (Ruby won't complain) as it is set then wasted as the method exits.

See a complete example that uses this code here
(written 2008-03-21, updated 2008-03-22)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
R110 - Ruby - Special Variables and Pseudo-Variables
  [3757] Ruby - a teaching example showing many of the language features in short but useful program - (2012-06-09)
  [2623] Object Oriented Ruby - new examples - (2010-02-03)
  [2613] Constants in Ruby - (2010-02-01)
  [2296] Variable scope - what is it, and how does it Ruby? - (2009-07-18)
  [1891] Ruby to access web services - (2008-11-16)
  [1587] Some Ruby programming examples from our course - (2008-03-21)
  [990] Ruby - Totally Topical - (2006-12-16)

R119 - Ruby Miscellany
  [3799] Ruby Documentation through rdoc - (2012-07-07)
  [3783] Load path, load and require in Ruby, and a change from 1.8 to 1.9 - (2012-06-24)
  [3622] Loading Ruby classes - where does Ruby look? - (2012-02-24)
  [3428] How many days to Christmas? - (2011-09-09)
  [3155] Rake - a build system using code written in Ruby - (2011-02-03)
  [1890] MySQL database from Ruby - an example - (2008-11-16)
  [1889] Ruby mixins, modules, require and include - (2008-11-16)
  [1720] Some Ruby lesser used functions - (2008-07-26)
  [1181] Good Programming practise - where to initialise variables - (2007-05-09)


Back to
Well House Consultants / Manor - Staff
Previous and next
or
Horse's mouth home
Forward to
Some Ruby programming examples from our course
Some other Articles
All Change, Portsmouth Harbour
Dynamic Memory Allocation in C - calloc, realloc
String interpretation in Ruby
Variable types in Ruby
Well House Consultants / Manor - Staff
Using Structs and Unions together effectively in C
Businesses in West Wiltshire - networking
Ruby, C, Java and more - getting out of loops
What is an lvalue? (Perl, C)
4300 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2014: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/1586_Var ... -Ruby.html • PAGE BUILT: Thu Sep 18 15:30:25 2014 • BUILD SYSTEM: WomanWithCat