4 changed files with 100 additions and 6 deletions
@ -0,0 +1,37 @@ |
|||
#!/usr/bin/env miaou-bash |
|||
|
|||
# declare -a normal |
|||
# declare -n ref1=normal |
|||
# ref1+=(5) |
|||
# ref1+=(9) |
|||
# ref1+=(10) |
|||
# declare -p normal |
|||
# declare -p ref1 |
|||
# for i in "${ref1[@]}"; do echo "-> $i"; done |
|||
|
|||
function sub { |
|||
[[ ! -v index ]] && index=0 |
|||
declare -ga "$1" |
|||
declare -n ref2="$1" |
|||
ref2+=($((++index))) |
|||
ref2+=($((++index))) |
|||
} |
|||
|
|||
function build { |
|||
array_name="$1" |
|||
sub "$array_name" |
|||
# declare -n ref=$array_name |
|||
} |
|||
|
|||
function array_inspect { |
|||
declare -n ref="$1" |
|||
echo "array '$1' contains ${#ref[@]} elements" |
|||
for i in "${ref[@]}"; do echo "-> $i"; done |
|||
echo ----- |
|||
} |
|||
|
|||
build mine1 |
|||
build mine2 |
|||
|
|||
array_inspect mine1 |
|||
array_inspect mine2 |
|||
@ -0,0 +1,32 @@ |
|||
#!/usr/bin/env miaou-bash |
|||
|
|||
ArrayOfArray_1=("Alan" "24") |
|||
ArrayOfArray_2=("Walker" "31") |
|||
MainArray=() |
|||
|
|||
array_count=0 |
|||
|
|||
array_count=$(( array_count + 1 )) |
|||
array_name="array_$array_count" |
|||
declare -a "$array_name" |
|||
declare -n ref="$array_name" |
|||
ref+=("Bernard") |
|||
ref+=(46) |
|||
MainArray+=(ref[@]) |
|||
|
|||
array_count=$(( array_count + 1 )) |
|||
array_name="array_$(( array_count + 1 ))" |
|||
declare -a "$array_name" |
|||
declare -n ref2="$array_name" |
|||
ref2+=("Ferland") |
|||
ref2+=(17) |
|||
MainArray+=(ref2[@]) |
|||
|
|||
|
|||
|
|||
for sub_array in "${MainArray[@]}"; do |
|||
elements=("${!sub_array}") # Get the elements of the sub-array |
|||
name=${elements[0]} |
|||
age=${elements[1]} |
|||
echo "${name,,} $age" |
|||
done |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue