外部インタフェース/API | ![]() ![]() |
1. 電話帳でのキーの検索
pb_remove
に渡される引数は、Properties
オブジェクトpb_htable
と削除するエントリに対するname
キーです。関数pb_remove
は、name
キーを使ってpb_htable
についてcontainsKey
を呼び出します。ここでサポート関数pb_keyfilter
が空白をアンダースコアに変更するために呼び出されます。名前が電話帳にない場合は、disp
はメッセージを表示し、関数はリターンします。
function pb_remove(pb_htable,name) if ~pb_htable.containsKey(pb_keyfilter(name)) disp(sprintf('The name %s is not in the phone book',name)) return end;
2. 確認してキーを削除
キーがハッシュテーブルにある場合は、pb_remove
はユーザに確認を求めます。ユーザがy
を入力して削除を確認すると、(フィルタされた)name
キーを使ってpb_remove
はpb_htable
についてremove
を呼び出し、エントリが削除されたことを示すメッセージを表示します。ユーザがn
を入力した場合は、削除は行われず、disp
は削除が行われなかったことを示すメッセージを表示します。
r = input(sprintf('Remove entry %s (y/n)? ',name), 's'); if r == 'y' pb_htable.remove(pb_keyfilter(name)); disp(sprintf('%s has been removed from the phone book',name)) else disp(sprintf('%s has not been removed',name)) end;
![]() | 関数pb_addの説明 | 関数pb_changeの説明 | ![]() |