app.d 934 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import std.stdio;
  2. import std.array : split;
  3. import std.string : strip;
  4. auto getMenu ()
  5. {
  6. auto foods = import ("food.txt").strip.split ("\n");
  7. return foods;
  8. }
  9. auto getPeople ()
  10. {
  11. return import ("people.txt").strip.split ("\n");
  12. }
  13. void main (string[] args)
  14. {
  15. import std.array : join;
  16. import core.stdc.stdlib : exit;
  17. immutable request = args[1];
  18. if (request == "menu") {
  19. version (No_Menu) {
  20. } else {
  21. writeln ("On the menu: ", getMenu.join (", "));
  22. exit (0);
  23. }
  24. }
  25. version (With_People) {
  26. if (request == "people") {
  27. writeln ("People: ", getPeople.join (", "));
  28. exit (0);
  29. }
  30. }
  31. // we fail here
  32. exit (1);
  33. }
  34. unittest
  35. {
  36. writeln ("TEST");
  37. import core.stdc.stdlib : exit;
  38. writeln(getMenu);
  39. assert (getMenu () == ["Spam", "Eggs", "Spam", "Baked Beans", "Spam", "Spam"]);
  40. exit (0);
  41. }