[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Using Associative Arrays declared in functions
From: |
michael-franzese |
Subject: |
Re: Using Associative Arrays declared in functions |
Date: |
Tue, 13 Apr 2021 22:08:25 +0200 |
Let's forget about tput - which can do colouring but is more portable.
The discussion is whether it is more human readable to define call the
function that declares the associative arrays in 'colr-fractr.sh' or
in the main test 'corl-tests.sh'.
so about the difference between
----- colr-tests.sh ------
source ${tools_path}/colr-tools.sh
termi-colr-wheel # defines the arrays
source ./colr-fractr.sh # has test function calling the arrays
scout-terminfo-colours # runs the colour test
----- colr-tests.sh ------
and
----- colr-tests.sh ------
source ${tools_path}/colr-tools.sh
source ./colr-fractr.sh # arrays get defined here
scout-terminfo-colours # runs the colour test
----- colr-tests.sh ------
Regards
> Sent: Wednesday, April 14, 2021 at 7:43 AM
> From: "Alex fxmbsw7 Ratchev" <fxmbsw7@gmail.com>
> To: michael-franzese@gmx.com
> Cc: "help bash" <help-bash@gnu.org>
> Subject: Re: Using Associative Arrays declared in functions
>
> look, this is an incomplete answer of me
>
> color codes and efficiency are big topics
> tput commands i dont know tho
>
> id prolly alias much on a str stack and end-printf when needed
> but again, i dont know enough of this topic
>
> peace
>
> On Tue, Apr 13, 2021, 21:13 <michael-franzese@gmx.com> wrote:
>
> > I'd like your point of view on calling functions
> >
> > As described, I have a file 'colr-tools.sh' with functions for colouring
> > text
> > in terminal windows.
> >
> > Then I have two other files that I am using to run some tests. One of the
> > files is 'colr-fractr.sh', where I have same functions with tests that call
> > the function tools for colouring declared in 'colr-tools.sh'.
> >
> > Then, another file 'colr-tests.sh' that has the main calling sequence
> > on what tests to run, based on the idea of 'main' in c-programs.
> >
> > In 'colr-fractr.sh', I have the function 'scout-terminfo-colours'
> > that call tho associative arrays in 'colr-tools.sh'.
> >
> > This is the way I am doing the calls in 'colr-tests.sh'
> >
> > ----- colr-tests.sh -----
> >
> > source ${tools_path}/colr-tools.sh
> >
> > # this defines the colour arrays in colr-tools.sh
> > termi-colr-wheel
> >
> > # this calls the test that use the array variables in 'colr-test.sh'
> > source ./colr-fractr.sh
> >
> > # this runs the test function in 'colr-fractr.sh'
> > scout-terminfo-colours
> >
> > ----- colr-tests.sh -----
> > I also have the possibility to call 'source ${tools_path}/colr-tools.sh'
> > in the file 'colr-fractr.sh' rather than in 'colr-tests.sh'. Where
> > would your prefer having tho call to 'source ${tools_path}/colr-tools.sh',
> > in 'colr-fractr.sh' or in 'colr-tests.sh'.
> >
> > Regards
> >
> > > Sent: Wednesday, April 14, 2021 at 6:15 AM
> > > From: "Alex fxmbsw7 Ratchev" <fxmbsw7@gmail.com>
> > > To: michael-franzese@gmx.com
> > > Cc: "help bash" <help-bash@gnu.org>
> > > Subject: Re: Using Associative Arrays declared in functions
> > >
> > > np yo, glad i did help
> > >
> > > On Tue, Apr 13, 2021, 19:24 <michael-franzese@gmx.com> wrote:
> > >
> > > > Using -g works like a gem.
> > > >
> > > > My hat off to you Alex. :)
> > > >
> > > > > Sent: Wednesday, April 14, 2021 at 4:31 AM
> > > > > From: "Alex fxmbsw7 Ratchev" <fxmbsw7@gmail.com>
> > > > > To: michael-franzese@gmx.com
> > > > > Cc: "help bash" <help-bash@gnu.org>
> > > > > Subject: Re: Using Associative Arrays declared in functions
> > > > >
> > > > > try -g for declare to have it outside function available
> > > > >
> > > > > On Tue, Apr 13, 2021, 18:07 <michael-franzese@gmx.com> wrote:
> > > > >
> > > > > > Am trying to ran some tests on some bash code.
> > > > > >
> > > > > > Here is how I run my test
> > > > > >
> > > > > > cd fractr-test
> > > > > > ./colr-test.sh
> > > > > >
> > > > > > and this is what I get
> > > > > >
> > > > > > termi-colr-wheel: * 79
> > > > > > colr-test: ***
> > > > > > Here is colr-fractr.sh
> > > > > > colr-test: ***
> > > > > > scout-terminfo-colours: **
> > > > > >
> > > > > > For some reason I do still do not understand, I do not get the
> > number
> > > > 79
> > > > > > next to the double and triple stars.
> > > > > >
> > > > > > Here is the code
> > > > > >
> > > > > > ./colr-tools.sh
> > > > > > termi-colr-wheel ()
> > > > > > { declare -rA tis=([cols]="$(tput cols)")
> > > > > > echo "* ${tis[cols]} }
> > > > > >
> > > > > > ./fractr-test/colr-fractr.sh
> > > > > > scout-terminfo-colours {echo "** ${tis[cols]}"}
> > > > > >
> > > > > > ./fractr-test/colr-test.sh
> > > > > > tools_path=$(readlink -f "$0")
> > > > > > tools_path="${tools_path%/*}"
> > > > > > tools_path="${tools_path%/*}"
> > > > > >
> > > > > > source ${tools_path}/colr-tools.sh
> > > > > >
> > > > > > termi-colr-wheel
> > > > > > echo "colr-test: *** ${tis[cols]}"
> > > > > >
> > > > > > source ./colr-fractr.sh
> > > > > > echo "colr-test: *** ${tis[cols]}"
> > > > > > scout-terminfo-colours
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
- Calling function from various files, michael-franzese, 2021/04/12
- Re: Calling function from various files, Lawrence Velázquez, 2021/04/12
- Re: Calling function from various files, Eduardo Bustamante, 2021/04/12
- Using Associative Arrays declared in functions, michael-franzese, 2021/04/13
- Re: Using Associative Arrays declared in functions, Alex fxmbsw7 Ratchev, 2021/04/13
- Re: Using Associative Arrays declared in functions, michael-franzese, 2021/04/13
- Re: Using Associative Arrays declared in functions, Alex fxmbsw7 Ratchev, 2021/04/13
- Re: Using Associative Arrays declared in functions, michael-franzese, 2021/04/13
- Re: Using Associative Arrays declared in functions, Alex fxmbsw7 Ratchev, 2021/04/13
- Re: Using Associative Arrays declared in functions,
michael-franzese <=
- Re: Using Associative Arrays declared in functions, Alex fxmbsw7 Ratchev, 2021/04/13