Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/packagemanager/gap/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 14.4.2025 mit Größe 948 B image not shown  

Quelle  interactive.gi   Sprache: unbekannt

 
InstallGlobalFunction(PKGMAN_AskYesNoQuestion,
function(question...)
  local stream, default, ans;

  question := Concatenation(question);
  stream := InputTextUser();

  Print(question);
  default := ValueOption("default");
  if default = true then
    Print(" [Y/n] ");
  elif default = false then
    Print(" [y/N] ");
  else
    default := fail;
    Print(" [y/n] ");
  fi;
  PKGMAN_FlushOutput();

  while true do
    ans := CharInt(ReadByte(stream));
    if ans in "yYnN" then
      Print([ans, '\n']);
      ans := ans in "yY";
      break;
    elif ans in "\n\r" and default <> fail then
      Print("\n");
      ans := default;
      break;
    elif ans = '\c' then
      # HACK since Ctrl-C does not work
      Print("\nUser aborted\n");
      # HACK, undocumented command
      JUMP_TO_CATCH("abort");
    fi;
  od;

  CloseStream(stream);
  return ans;
end);

InstallGlobalFunction(PKGMAN_FlushOutput,
function()
    Print("\c");
end);

[ Dauer der Verarbeitung: 0.34 Sekunden  (vorverarbeitet)  ]