2017-03-05 10 views
0

ここではたくさんの矢印の表記が尋ねられますが、私が持っている具体的な例は見つからないようです。私はそれを逃した場合、事前にお詫びしたいと思います。まだ定義されていないキーへの矢印参照はperlで何をしますか?

私はいくつかのPerlコードを修正する割り当てを与えてきたが、私は単純にこのコード行を行うことになっているかを理解していない:

my $aref = [1,2,3,4]; 

my $x = $aref->{structure}; 

これは割り当ての一部であるように、ラインをそれ自体が間違いかもしれませんし、コードにも多くがありますが、私の質問はなぜ定義されていないキーワード{structure}があるのですか?それは何をするためのものか?

答えて

4

あなたはそのコードを実行しようとしましたか?どのようなエラーメッセージが表示されますか?わかりますか?

どのような「修正」が期待されているのか分かりにくいことに同意しますが、あなたがまだ説明していないものにあなたを紹介したくありません。 2行目を削除するのが最も適切な修正だと言えるのは間違いないと思いますが、それはあなたの家庭教師が期待しているものなのかどうか疑問です!

あなたは[ 1, 2, 3, 4 ]無名配列を作成し、それへ参照を返すことを知っていますか?そうでない場合は、あなたがグーグルにできるものです

だからmy $aref = [ 1, 2, 3, 4 ]は、(4つの要素を持つ)配列への参照を入れます。参照から配列要素にアクセスする方法を知っていますか?そうでない場合perldoc perlreftut(チュートリアル)とperldoc perlrefが不可欠です

あなたは普通の配列と普通のハッシュにアクセスする方法を知っていますか?私はあなたがstructureは "キーワード"だと思うことを心配しています。多分あなたを読む必要がありますPerl variable types in perldoc perlintro

私は助けてくれることを望みます。私があなたがどこにいるかのより良い感覚を得るなら、私はあなたにもっと適切な助けを与えることができます

+0

ありがとう!そして、私は匿名の配列と参照について知っています。私は、コードの誤りの1つが以下のように読むべきだと考え始めています: my $ x = $ aref => {structure}; また、インラインコードブロックをどうやって行うのか分かりません。残念です。 そのコード行が正しい場合は、今何をしますか?そして、どのようにリスト項目にアクセスするのですか? もう少し意味があることを願っています。 – Michael

+1

@Michael Ad:_Andリストアイテムにアクセスするにはどうすればいいですか?_ - 上記のドキュメントで説明されています。 '$ r - > [2]'と '$ r - > {2}'の違いを理解するためには、本当に 'perlreftut'を読む必要があります。 – jm666

+0

@Michael:いいえ、「my $ x = $ aref => {structure}」は間違っています。 '=>'演算子は* fatカンマ*で知られており、逆参照矢印 ' - > 'とは関係ありません。 '(xx => 1)'は '( 'xx'、 'xx')と同じであることを除いて、カンマとまったく同じですが、前に" bareword "(基本的に英数字の文字列) 1) '。 '$ aref'は裸の単語ではないので(それにドル記号があります)、' my $ x = $ aref => {structure} 'は' my $ x = $ aref、{structure} 'と同じです。 – Borodin

関連する問題