loading...

Saturday, December 25, 2010

Ruby on Rails(RoR) 3 Variables

Variable of Ruby on Rails is as follows
  • local variables
  • constants 
  • instance variable(object variables) .
  • class variables
  • global variables
Local Variables

  • A variable whose name begins with a lowercase letter (a-z) or underscore ( _ ) .
Example
distance

Instance Variables
  • A variable whose name begins with '@' is an instance variable of self.
  • Uninitialized instance variables have a value of nil
Example
@distance

Class Variables

  • A variable whose name begins with '@@' 
  • A class variable is shared by all instances of a class
  • class variable is shared by all the descendants of the class

Example
@@distance

Global Variables

  • A variable whose name begins with '$'
  • can be accessed from anywhere within the program during runtime

Example
$distance

Constants

  • A variable whose name begins with an uppercase letter (A-Z)
  • A constant can be reassigned a value after its initialization, but doing so will generate a warning
  • Every class is a constant
  • Trying to access an uninitialized constant raises the NameError exception.
Example
DISTANCE

Pseudo Variables
  1. self
  2. nil
  3. true
  4. false

Pre-defined Variables

$! The exception information message set by the last 'raise' (last exception thrown).
$@ Array of the backtrace of the last exception thrown.
$& The string matched by the last successful pattern match in this scope.
$` The string to the left of the last successful match.
$' The string to the right of the last successful match.
$+ The last bracket matched by the last successful match.
$1 to $9 The Nth group of the last successful regexp match.
$~ The information about the last match in the current scope.
$= The flag for case insensitive, nil by default (deprecated).
$/ The input record separator, newline by default.
$\ The output record separator for the print and IO#write. Default is nil.
$, The output field separator for the print and Array#join.
$; The default separator for String#split.
$. The current input line number of the last file that was read.
$< The virtual concatenation file of the files given on command line.
$> The default output for print, printf. $stdout by default.
$_ The last input line of string by gets or readline.
$0 Contains the name of the script being executed. May be assignable.
$* Command line arguments given for the script. Same as ARGV.
$$ The process number of the Ruby running this script. Same as Process.pid.
$? The status of the last executed child process.
$: Load path for scripts and binary modules by load or require.
$" The array contains the module names loaded by require.
$LOADED_FEATURES An english friendlier alias to $"
$DEBUG The status of the -d switch. Assignable.
$FILENAME Current input file from $<. Same as $<.filename.
$KCODE Character encoding of the source code.
$LOAD_PATH An alias to $:
$stderr The current standard error output.
$stdin The current standard input.
$stdout The current standard output.
$VERBOSE The verbose flag, which is set by the -v switch.
$-0 The alias to $/
$-a True if option -a ("autosplit" mode) is set. Read-only variable.
$-d The alias to $DEBUG.
$-F The alias to $;
$-i If in-place-edit mode is set, this variable holds the extension, otherwise nil.
$-I The alias to $:
$-K The alias to $KCODE.
$-l True if option -l is set ("line-ending processing" is on). Read-only variable.
$-p True if option -p is set ("loop" mode is on). Read-only variable.
$-v The alias to $VERBOSE.
$-w True if option -w is set.

default the values of the pre-defined variables will be nil
Pre-defined constants
__FILE__ (current file)
__LINE__ (current line)

No comments:

Post a Comment

fuzionpro Headline

fuzionpro