nested array 3
This commit is contained in:
@@ -9,12 +9,15 @@
|
|||||||
# declare -p ref1
|
# declare -p ref1
|
||||||
# for i in "${ref1[@]}"; do echo "-> $i"; done
|
# for i in "${ref1[@]}"; do echo "-> $i"; done
|
||||||
|
|
||||||
function build {
|
function array_new {
|
||||||
ref_name="$1"
|
ref_name="$1"
|
||||||
|
shift
|
||||||
[[ -v nested_count ]] && ((++nested_count)) || nested_count=1
|
[[ -v nested_count ]] && ((++nested_count)) || nested_count=1
|
||||||
nested_name="_nested_$nested_count"
|
nested_name="_nested_$nested_count"
|
||||||
declare -ga "$nested_name"=\(\)
|
declare -ga "$nested_name"
|
||||||
declare -gn "$ref_name"="$nested_name"
|
declare -gn "$ref_name"="$nested_name"
|
||||||
|
declare -n internal="$nested_name"
|
||||||
|
internal+=("$@")
|
||||||
}
|
}
|
||||||
|
|
||||||
function array_inspect {
|
function array_inspect {
|
||||||
@@ -24,7 +27,7 @@ function array_inspect {
|
|||||||
echo -----
|
echo -----
|
||||||
}
|
}
|
||||||
|
|
||||||
build mine1
|
array_new mine1 'toto est fluo' 0
|
||||||
array_inspect mine1
|
array_inspect mine1
|
||||||
mine1+=("A" "B C D" "E")
|
mine1+=("B C D" "E")
|
||||||
array_inspect mine1
|
array_inspect mine1
|
||||||
|
|||||||
Reference in New Issue
Block a user