Dragon/Lessons/Variables

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Variables[edit]

To create a new variable, you just need to determine the variable name & value. The value will determine the variable type and you can change the value to switch between the types using the same variable name.

Syntax:

	
	<Variable Name> = <Value>

.. tip::

The operator '=' is used here as an Assignment operator and the same operator can be used in conditions, but for testing equality of expressions.

.. note::

The Variable will contains the real value (not a reference). This means that once you change the variable value, the old value will be removed from memory (even if the variable contains a list or object).


Dynamic Typing[edit]

Dragon is a dynamic programming language that uses `Dynamic Typing <http://en.wikipedia.org/wiki/Type_system>`_.

	x = "Hello"		// x is a string
	showln x 
	x = 5			// x is a number (int)
	showln x 
	x = 1.2 		// x is a number (double)
	showln x 
	x = [1,2,3,4]		// x is a list
	showln x 		// print list items

Deep Copy[edit]

We can use the assignment operator '=' to copy variables. We can do that to copy values like strings & numbers. Also, we can copy complete lists & objects. The assignment operator will do a complete duplication for us. This operation called `Deep Copy <http://en.wikipedia.org/wiki/Object_copy#Deep_copy>`_


	list = [1,2,3,"four","five"]
	list2 = list
	list = []
	show list	// print the first list - no items to print
	showln "********" 
	show list2	// print the second list - contains 5 items

Weakly Typed[edit]

Dragon is a `weakly typed language <http://en.wikipedia.org/wiki/Strong_and_weak_typing>`_, this means that the language can automatically convert between data types (like string & numbers) when that conversion make sense.