配列の配列、無名配列
◎本日のお題一つ目
無名配列を使用して、ネストした配列を作り、任意の値をprintする。
#! /usr/bin/perl use strict; use warnings; my @array=( 0, ['00','01',['0200','0201','0202',['020300','020301',],],], [10,11,[1200,1201,1202,[120300,120301,],],], [20,21,[2200,2201,2202,[220300,220301,],],], [30,31,[3200,3201,3202,[320300,320301,],],], 5, 6, ); print "\$array[5]=$array[5]\n"; #00を二通りのやり方でprintしてみる print "${$array[1]}[0]\n"; print "$array[1]->[0]\n"; #0200を二通りのやり方でprintしてみる print "${${$array[1]}[2]}[0]\n"; print "$array[1]->[2]->[0]\n"; #320301を二通りのやり方でprintしてみる。 print "${${${$array[4]}[2]}[3]}[1]\n"; print "$array[4]->[2]->[3]->[1]\n"; #@arrayの3番目の要素をprintする。 print "@{$array[2]}\n"; #@arrayの3番目の要素の、2番目の要素をprintする。 print "@{${$array[2]}[2]}\n";#矢印を使って書くことはできないよ print "${$array[2]}[2]\n";#これだとリファレンス(住所)が返るよ
◎ポイント
■そのスカラー値は、リファレンスが入っているのか、それとも値が入っているのか
→リファレンス(住所)の場合、一番左に$や@、%を付ければデリファレンスされてそのリファレンス(住所)に入っている値が返る。
関係ないけど、この人、仕事できるなー、生産効率いいなー、と思う人複数人に、仕事ができる人の必須条件ってなんですか、って聞いてみた。回答は以下。
・俯瞰力 (物事を違う立場から見ることができること)
・説明能力(説明したときに理解と納得をしてもらえること)
・理解能力(説明されたことに対して質問をし、行動に移せる状態にできること)