Global Variable and Constant
Why discuss about Coding here ?
Because I also include Haskell. And Haskell distinct clearly between global constant and mutable state.
Global variable is requirement in this project
Some say that global variable are bad. But there are quick and dirty condition, where global variable looks more suitable. The other way is change the entire logic design.
output module require a variable
that can be called from function,
without passing them as a parameter argument.
So we have to make scope of these variable global.
But since these variables live only in output module,
these are not so global after all.
Before getting deep, we need to distinct between global variable and global constant.
global variable: mutable state, must be initialized.
global constant: it is usually defined as a global variable, except that, the value won’t be altered during script execution. The value is defined at the beginning of program.
Accessing a global variable from within function need different trick for each language.
BASH: Variable is global by default.
Perl: Variable defined using
mycan be accessed within function in the same module.
Python: Access within function using
Ruby: In Module scope, variable defined using
@can be accesed within function.
PHP: Access within function using
Lua: Variable scope using table module such as
Haskell: Officialy there is a no way to define global variable Haskell. But Haskell provide a few workaround to simulate mutable state. The easiest one is using
Each language maintain global constant differently
BASH: There are ways to define constant in BASH. Constant in PHP may begin with the word
Perl: There are a several ways to define constant in Perl. Constant in Perl may begin with the word
Python: Officialy there is a no way to define constant in Python. Python does not differ between these two.
Ruby: Constant in Ruby start with capital case.
PHP: Constant in PHP begin with the word
Lua: Officialy there is a no way to define constant in Lua. Lua does not differ between these two.
Haskell: Every variables in Haskell are immutable.
There is no special need to worry about global variable, except with Haskell.
The rest is in their respective article.
Let's get it started.
Dotfiles (Dzen2 Source Code)
Dotfiles (Lemonbar Source Code)
Thank you for Reading.