アプリ版:「スタンプのみでお礼する」機能のリリースについて

my %hash = ();
$hash{'NAMAE'} = "田中";
$hash{'TEN'} = split(/,/, "100, 50, 70");

名前はスカラーデータなので、問題ないのですが点数はリストなので
このまま代入し、

$has{'TEN'}で見てみると3というデータ数が入ります。
これをリストで代入させたいのですがどうすればよいのでしょうか?

A 回答 (4件)

結局のところ配列のリファレンスを入れるしかないわけですが, そのためには


$hash{'TEN'} = [split(/,/, "100, 50, 70")];
と [ ... ] でいきなりリファレンスにするのが最も単純.
ところで, この split だけど /,/ じゃなく /,\s*/ にした方が安全じゃないかな?
    • good
    • 0

#1の方の補足です



ハッシュじゃなくて、配列に入れればいいと思います。
$hash{'TEN'} = split(/,/, "100, 50, 70");

@TEN = split(/,/, "100, 50, 70");

$hash{'TEN'} = \@TEN;

print $hash{'TEN'}->[0]; # 100と表示
    • good
    • 0

いったん配列に入れて、そのリファレンスを入れれば良いのでは?



my %hash = ();
$hash{'NAMAE'} = "田中";
@hash_ten = split(/,/, "100, 50, 70");
$hash{'TEN'} = \@hash_ten;
print "@{$hash{'TEN'}}\n";
print "${$hash{'TEN'}}[0]\n";
print "${$hash{'TEN'}}[1]\n";
print "${$hash{'TEN'}}[2]\n";
    • good
    • 0

ハッシュじゃなくて、配列に入れればいいと思います。


$hash{'TEN'} = split(/,/, "100, 50, 70");

@TEN = split(/,/, "100, 50, 70");
    • good
    • 0
この回答へのお礼

どうしても$hash{'TEN'}にリストを入れたいのですが、参照などでセットしても無理でしょうか?取り出し方も?です。

このあたりが私にとって未開なので不安です。

お礼日時:2007/04/06 12:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!