アプリにテキスト ボックスがあり、ユーザーは何でも入力できます。キーワードに基づいていくつかのコマンドを解釈するコントローラーを作成しています。
ユーザーは、パスワードを設定するかどうかを選択できます。それに応じて、私のインタープリターはパスワードを期待するかどうかを判断します。
たとえば、パスワードが設定されていて、ユーザーが「password1 show list」と入力した場合。インタプリタは最初の単語でパスワードをチェックし、次にコマンド (show)、次に引数 (list) をチェックします。
パスワードが設定されていない場合、ユーザーが「show list」と入力すると、インタープリターが理解します。
私の現在のコードは次のとおりです。
// 'words' is a String array which contains the user input.
if (passwordEnabled()==true) {
if (words[0].contentEquals(getPassword())
&& words[1].contentEquals("show")
&& words[2].contentEquals("list")) {
// Perform action
}
}
else {
if (words[0].contentEquals("show")
&& words[1].contentEquals("list")) {
// Perform action
}
}
私の質問は、コマンドを処理するためのより効率的/より良い方法はありますか? 私はそれを行うための非常に粗雑な方法だと確信しています。