pashmak

Name Defines

Name defining system is like variable system. but in name defines, something is different:

Look at this example:

define('THE_NAME', 'parsa')

println(THE_NAME)

output:

parsa

In the above example, i defined THE_NAME and put parsa as value of that.

NOTE: we suggest you to write name of defines fully capitalized

is_defined()

This function checks a name is defined and returns boolean.

println(is_defined('SOMETHING'))

define('SOMETHING', 'the value')

println(is_defined('SOMETHING'))

output:

False
True

undefine()

This function deletes a define.

define('SOMETHING', 'the value')

println(is_defined('SOMETHING'))

undefine('SOMETHING')

println(is_defined('SOMETHING'))

output:

True
False

all_defines()

This function returns all of defines as a dictionary.

println(all_defines())

output:

{'FOO': 'BAR', ...}

redefine()

Defines cannot be defined again. for example:

define('NAME', 'parsa')
define('NAME', 'pashmak')

output:

DefineError: name "NAME" already defined...

RE-Defining something is easy:

The above steps are provided as a function named redefine():

define('NAME', 'parsa')
println(NAME)

redefine('NAME', 'pashmak')
println(NAME)

output:

parsa
pashmak