MATLAB: ハッシュ・テーブル (連想配列)を使う

containers.Mapを使います。

>> endDay = containers.Map({'jan', 'feb', 'mar', 'apr', 'may', 'jun','jul', 'aug', 'sep', 'oct', 'nov', 'dec' }, {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31});
>> endDay('apr')

ans =

    30


>> class(endDay)

ans =

    'containers.Map'

キーの取り出し

>> keys(endDay)

ans =

  1×12 の cell 配列

  1 列から 11 列

    {'apr'}    {'aug'}    {'dec'}    {'feb'}    {'jan'}    {'jul'}    {'jun'}    {'mar'}    {'may'}    {'nov'}    {'oct'}

  12 列

    {'sep'}

値の取り出し

>> values(endDay)

ans =

  1×12 の cell 配列

    {[30]}    {[31]}    {[31]}    {[28]}    {[31]}    {[31]}    {[30]}    {[31]}    {[31]}    {[30]}    {[31]}    {[30]}

ペアの追加

>> endDay('ext') = 30;
>> keys(endDay)

ans =

  1×13 の cell 配列

  1 列から 11 列

    {'apr'}    {'aug'}    {'dec'}    {'ext'}    {'feb'}    {'jan'}    {'jul'}    {'jun'}    {'mar'}    {'may'}    {'nov'}

  12 列から 13 列

    {'oct'}    {'sep'}

ペアの削除

>> remove(endDay, 'ext');
>> keys(endDay)

ans =

  1×12 の cell 配列

  1 列から 11 列

    {'apr'}    {'aug'}    {'dec'}    {'feb'}    {'jan'}    {'jul'}    {'jun'}    {'mar'}    {'may'}    {'nov'}    {'oct'}

  12 列

    {'sep'}

>> values(endDay)

ans =

  1×12 の cell 配列

    {[30]}    {[31]}    {[31]}    {[28]}    {[31]}    {[31]}    {[30]}    {[31]}    {[31]}    {[30]}    {[31]}    {[30]}

>>