web-dev-qa-db-ja.com

Deno Stdinから値を取得する

Denoの標準入力から値を取得するにはどうすればよいですか。

使い方を知りませんDeno.stdin

一例が理解されよう。

10
benjamin Rampon

input-deno モジュールを使用することをお勧めします。これはドキュメントからの例です。

// For a single question:
const input = new InputLoop();
const nodeName = await input.question('Enter the label for the node:');
        
// output:
        
// Enter the label for the node:
        
// Return Value:
// 'a'
 _
1
Krasen Radulov

私は100%純粋なデノーの解決策を持っていますが、集中的にテストされていません

async function ask(question: string = '', stdin = Deno.stdin, stdout = Deno.stdout) {
  const buf = new Uint8Array(1024);

  // Write question to console
  await stdout.write(new TextEncoder().encode(question));

  // Read console's input into answer
  const n = <number>await stdin.read(buf);
  const answer = new TextDecoder().decode(buf.subarray(0, n));

  return answer.trim();
}

const answer = await ask(`Tell me your name? `);
console.log(`Your name is ${answer}`);
 _

上記のコードの一部は、 Kevin Qian の回答から取得されました。

0
Roberto Guevara