Created by
sironekotoro
| #!/usr/bin/env perl
use strict;
use warnings;
# Perl入学式 2018 第3回 練習問題
# https://github.com/perl-entrance-org/workshop-2018/blob/master/3rd/slide.md
# 練習問題(array_ref.pl)
# animal
# ├─ dog
# │ ├─ shiba
# │ └─ bulldog
# ├─ cat
# │ ├─ mike
# │ └─ abyssinian
# └─ bird
# ├─ eagle
# └─ crow
# 次の処理をする array_ref.pl を作りましょう。
# 1.上記のデータ構造を表す@animalを作ってください。
# 2.その中からeagleを取り出してください。
# 3.余裕があれば、他の要素も取り出してみましょう。
# 1.上記のデータ構造を表す@animalを作ってください
# に従い、配列を作る
my @animal;
# 配列を作り、配列リファレンスをスカラー変数に格納する方法
my @dog = ( 'shiba', 'bulldog' );
my $dog_ref = \@dog;
# 無名配列をスカラー変数に格納する方法
my $cat_ref = [ 'mike', 'abyssinian' ];
# 配列を作る際に、qwショートカットを使った例
my @bird = qw(eagle crow);
my $bird_ref = \@bird;
# push関数で、配列に配列リファレンスを入れていく
push @animal, $dog_ref;
push @animal, $cat_ref;
push @animal, $bird_ref;
# アロー記法を利用
print $animal[2]->[0], "\n"; # eagle
# アローを省略した記法
print $animal[1][1], "\n"; # abyssinian
# 配列の中の配列リファレンスをデリファレンスし、
# 添え字でアクセスする
print ${ $animal[0] }[0], "\n"; # shiba
|