ご挨拶
お世話になります。
Nodejs でコンソールアプリを作成しています。
以下のことがしたいです。
- terminal に入力された値を受け取り
- あらかじめ配列に格納された値に前方一致する項目上位n件を表示
- enter キーで決定
動作イメージ
事前に配列に以下のようなデータを格納しています。
const items = ['こんにちは', 'こんばんは', 'また会いましたね', 'また会いましょう'];
フィルタリングは items.filter(item => item.startsWith(input))
で行うイメージですが、
この方法にこだわっていません。
補完結果表示
入力した値でオートコンプリートします。
> こん こんにちは // "こん" で前方一致するもののみ表示 こんばんは
tab キーによる補完
bash や zsh のように tab キーを押すことにより、入力できるエリアの文字が補完されます。
> こんにちは // tab キー押下(1回目) > こんばんは // tab キー押下(2回目) > こんにちは // tab キー押下(3回目)
上下キーによる補完
上下キーでも補完結果が反映されます。
> こんにちは // 下キー押下 > こんばんは // 下キー押下 > こんにちは // 上キー押下
教えていただきたいこと
日本語を含む terminal に入力された値をどのように取得すればいいか が分かっていません…
実現する方法を教えてください。
keypress や process.stdin
で入力値を取得していたのですが
アルファベットは取得できても日本語は取得できませんでした…
// key 入力なので日本語が取れないのは当たり前かもしれませんが…
できれば
できれば rxjs が使用したいです!
以前から rx
にあこがれているのですが、なかなか使う機会がなく…
時間やイベントを配列のように操作する良さを実感してみたいです。
可能でしたら rxjs
を絡めたライブラリや方法をご教授いただけるとうれしいです。
ですが、今作っているモノの完成が第一ですので rxjs
でなくても問題ありません。
よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/12/24 04:42