User Tools

Site Tools


njsetn:collecting_information_with_readline

→ nodejs.org/api/readline.html

readline est un module “wrap” autour du standard input qui permet de prompter facilement un utilisateur et de récupérer des données.

var readline = require('readline');
var interface = readline = readline.createInterface(process.stdin, process.stdout);
var unladen_swallow = {
  specy: 'european',
  airspeed_velocity: 0
};
interface.question("What...is the airspeed velocity of an unladen swallow?\n", function(speed) {
  unladen_swallow.airspeed = speed;
  interface.setPrompt('How do you know so much about swallows, sire?\n');
  interface.prompt();
  interface.on('line', function (answer) {
    if (answer.toLowerCase.trim() === 'y' || answer.toLowerCase.trim() === 'yes' ) {
      console.log('Goodbye, Sir!');
      interface.close();
    } else {
      console.log('Godamn!');
    }
    interface.setPrompt('Would you like to leave us alone, Sir? (y/n)')
  });
});

interface.on('close', function() {
  console.log(`Airspeed velocity according to that damn human : %s.`, unladen_swallow.airspeed_velocity); // would have been %j for an array ?
  process.exit();
});
njsetn/collecting_information_with_readline.txt · Last modified: 2016/03/21 21:06 by leo