ふと疑問に思ったのですが通常、ハッシュを追加する方法は
my %hash = (
'キー1' => '値1',
'キー2' => '値2',
'キー3' => '値3',
);
$hash{'キー4'} = '値4';
$hash{'キー5'} = '値5';
とするか
my %hash = (
'キー1' => '値1',
'キー2' => '値2',
'キー3' => '値3',
);
%hash = (
%hash,
'キー4' => '値4',
'キー5' => '値5',
);
のようにするのが普通だと思いますがリストのpushみたいに追加する
方法はないのでしょうか。
No.1ベストアンサー
- 回答日時:
例えば
push @a, (1, 2, 3);
のように、1度に複数のキーと値の組を追加したいでしょうか?
ハッシュのスライスを使えば以下のように出来ます。
my %hash = (
a => 1,
b => 2,
z => 26,
);
printf "%s %s\n", '-' x 7, 'before';
printf "%s => %s\n", $_, $hash{$_} for sort keys %hash;
@hash{"c", "d", "e"} = (3, 4, 5);# ハッシュのスライス
printf "%s %s\n", '-' x 7, 'after';
printf "%s => %s\n", $_, $hash{$_} for sort keys %hash;
頭に % ではなく @ が付く事に注意してください。
@hash{"c", "d", "e"}
は
($hash{"c"}, $hash{"d"}, $hash{"e"})
とほぼ同じ意味です。
あ~、なるほど。
そういえば、以前にこのようなことをしているスクリプトを見たことが
あるような気がします。
これってスライスっていう機能でこういう事ができるんですね。
Perlってまだまだ知らないことが多くて面白いです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オープンソース stable diffusionのインストールがうまくいきません。 1 2023/06/20 13:09
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- デスクトップパソコン Windows11でスクショする方法がわかりません。 調べましたが、どうもWindowsキーがあるキ 8 2022/06/05 05:37
- Gmail GmailではメールをDelキーで削除可能でしょうか? 1 2022/08/17 10:43
- Wi-Fi・無線LAN ルーターの暗号化キーはなぜ初期値から変更するの? 2 2022/08/11 16:28
- カラオケ 原曲キー設定で歌った事を原曲キーと言ってはいけないんでしょうかね? 5 2023/06/01 23:00
- カラオケ 原曲キー設定で歌った事を原曲キーと言ってはいけないんでしょうかね? 5 2023/05/01 20:00
- Visual Basic(VBA) 別のファイルへ条件を指定してセルの値を転記したい 4 2022/04/04 15:38
- Excel(エクセル) MacのExcelでoptionキーを押したまま図形や画像を移動させると、複製されてしまう 2 2022/06/14 16:19
- その他(IT・Webサービス) Google日本語入力の操作方法 一度確定した後の訂正方法 1 2023/06/17 16:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ハッシュ値が一致したデータは...
-
まったく同じファイルのハッシ...
-
チェックデジットについて
-
列挙型と連想配列の違いを教え...
-
文字列を変数名として扱う方法
-
ハッシュのキーを変数で
-
UTF-8で書かれたJSPの日本語文...
-
英語でのシャープとコメの呼び...
-
画面を強制的に再描画させる方法
-
VBAで3秒だけ時間を止めたい
-
DoEventsが必要な理由について
-
VBAのautofilter、criteriaの配...
-
GIFアニメをループさせたくない
-
vba
-
アクティブセルから、A列最終行...
-
データベースから取得したデー...
-
VBA Dir関数でファイルをループ...
-
VBのReturnの使い方
-
流れ図(フローチャート)が分か...
-
二次元配列のインデックスについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースでユーザーのパス...
-
文字列を変数名として扱う方法
-
ハッシュ検索はなぜ速い
-
まったく同じファイルのハッシ...
-
列挙型と連想配列の違いを教え...
-
ハッシュ値が一致したデータは...
-
重複ファイルを削除したいので...
-
*(アスタリスク)の意味
-
UTF-8で書かれたJSPの日本語文...
-
チェックデジットについて
-
ハッシュマーク以降のアドレス取得
-
ハッシュリストって単にハッシ...
-
一意(ユニーク)かつ、ソート...
-
多次元連想配列の削除
-
英語でのシャープとコメの呼び...
-
perlで配列名を動的に作り出したい
-
連想配列のサイズ制限
-
ハッシュ値によるファイルの同...
-
全ての変数を初期化する方法は...
-
文字列をハッシュにしなければ...
おすすめ情報