talkBot #2


今日の始まりはbotobjをjsに入れる操作.
まず,何の考えもないまま,一人一人のデータをobj化しwhileに入れる.
            var p = 1;
            var birthList='';
            while(p<30){
              var person = 'person_'+ p;
              replier.reply(person.month);
              if(person.month == 1){
                birthList += person.name + ' ';
                p++;
              } p++;
            } 
person_1.name, person_2.monthのような値は出力されますが、「person'+p」を加えると、聞き取れず未定義の値が発行されます.
personがstr値なので、pはnumですか?toStringをやってもだめです
var birth_info = {
  num:1, info:{name:홍길동,month:1,date:1},
  num:2, info:{name:아무개,month:2,date:2}
}
こうしてobjをobjに揉み込む.key値として使われているnumはどうせfor...in回転なので数字でなくても大丈夫ですが思い出せません...
for (var key in birth_info) {
  replier.reply(birth_info[key].name)
}
このまま入れるともちろん使えますこの当たり前の道は遠すぎる.
birthList='생일자 명단';
for (key in birth_info) {
  if (birth_info[key].month === 1) {
    birthList += '\n' + birth_info[key].date + '일 ' + birth_info[key].name;
  }
}
replier.reply(birthList);
命令認識の方法は!생일 n월を入力したときに感嘆符を消し、「誕生日」を消し、trim juneは最後の文字を消し、残りの文字で条件文をすばやく完成させるのですが、あまりにも性価比に合わないので、考えてみると、最後の文字を消すと!생일 12ㅇという命令も受け入れられるので、switch-caseになりました.
「誕生日」という言葉で始まると(誕生日を外して短く切る)
->case「1月」~「12月」、default値!생일 n월の正しいコマンドで、やっと誕生日機能が完成!
var trimMsg = real_msg.trim();
  for (key in birth_info) {
    if(birth_info[key].name === trimMsg) {
      replier.reply(birth_info[key].month + '월 ' + birth_info[key].date + '일');
    }
}
誕生日を人名で伝える機能も早いやっとobjを読んで、できることがたくさん増えました.

の最後の部分


週末にAngularを勉強しようと思っていましたが、トークショーがうまくいかなかったので、頑張りすぎました.でも夜から基礎知識の勉強不足の概念をしっかり聞いて~
「通信録ロボット」では、API2に内蔵されたデータベースフォルダで、.jsonファイルで対象情報を読み取る機能が正常に機能しないため、ハミングを続けており、설정>레거시 API 사용 안함をチェックしてからAPI2を使用する必要があった!(10分前に知りましたㅠㅠ)
時間がかかりましたが、これは私がずっと使っていた熟知した方法以外の様々な方法でコードを書くことを試してみる良い機会です.
アプリ開発者によるとJSON.parse()も使えるそうですが、再確認してみるとAPI2も使えるようになり、来週はもっときれいで洗練されたFileSystemを作らなければなりません.一番頭が痛い問題を解決したので、あとは面白い機能しか残っていないので、週末を待ちました~