| 外部インタフェース/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の説明 | ![]() |