Terminus
Terminus copied to clipboard
Cat au lieu de less ?
cat
(concaténer) est une commande qui certes existe partout mais est nettement moins fonctionnelle que `less.
Y a-t-il une raison d'avoir remplacé cat
par less
, au-delà de son universalité ?
Maintenant que j'y pense peut être que la commande more
(plus) est la plus interressante pour faire le job.
J'avais fait la substitution dans un but sémantique et pratique :
-
cat
ne comporte que 3 lettres - la commande
cat
affiche directement tout le texte (cela correspond à la manière dontcat
etless
sont implémentés) - la commande
cat
ne nécessite aucune compétence autre que le shell, tandis queless
(moins) s'utilise avec des commandes spécifiques qui ressemble à celle devi
(il faut utiliser 'q' pour quitter et il est possible de faire des recherches avec '/') - (au moment de faire cette modification je voulais personnifier les commandes, comme avec
grep
, il aurait s'agit d'un genre d'invocation en terme vidéo ludique... cat peut être personnifier en chat, less c'est plus compliqué)
cat me semble pertinent au vu de comment ça fonctionne actuellement dans le jeu, pour rester fidèle à un terminal. Par contre, sur l'idée de dialogue en multipliant les 'cat', je suis plus sceptique parceque justement, ça s'éloigne du fonctionnement normal d'un terminal, et aussi, que je m'en suis aperçu tard en jouant, parceque justement, ça ne me paraissait pas naturel que deux 'cat' d'affilés sur un fichier puissent donner deux résultats différents.
Peut être faire un cat
non interactif effectivement… juste du texte...
et pour les interactions trouver une parade e.g. faire comme si on avait à faire à un programme ou ajouter des mots clefs de point'n'click.
L'idée est de faire un jeu pas un bac à sable.
En y re-réfléchissant à cette occasion, on pourrait aussi imaginer que c'est à des fichiers de logs qu'on a à faire lorsqu'il s'agit d'"interactions".
Si du nouveau contenu (mais ajouté à l'ancien) apparaît à chaque exécution de cat
sur un fichier, on est bien dans la logique du fichier de logs.
On pourrait imaginer qu'on puisse également interroger les fichiers avec tail
, et que, quand il s'agit de fichiers de logs, la commande renvoie la suite de la conversation à chaque fois qu'elle est lancée.
Ça peut le faire dans certains cas, par exemple si on met l'idée un envoi du courrier (un fichier est écrit -action ou pas-> un autre fichier est écrit).
# exemple sur le pont après l'avoir réparé
$ cat remerciements.log
> Merci d'avoir réparé le pont. Tiens voici mon adresse, je voudrais t'offrir un cadeau.
# exemple avec l'artiste très occupé
$ ./Artiste
> laisse moi tranquille, je suis occupé
$ cat Arstiste.log
> Une note a été laissée : "J'ai besoin 5 rouages, quelqu'un utilisant 'touch' devrait s'en sortir"
$ touch rouages{1,2,3,4,5}
$ cat Artiste.log
> Une note a été laissée : "À la personne qui m'a fait ces 5 rouages : je t'autorise à ouvrir le clapet de ma sculpture-horloge."
$ ./Horloge
> ('date' est maintenant utilisable)
> Il est 13h30 !
Je n'ai pas trop envie de généraliser ça au risque de perdre le coté 'interface avec le monde' que sont les êtres qui peuple l'univers virtuel. L'idée de programme me semble assez pertinent dans certain cas.
# exemple dans le marché
$ ./Marchand
> (interface de choix des trucs échangeable)
> (pas de monnaie)
$ ls
Marchand
SacÀdos.zip
SacÀdos.log
$ cat SacÀdos.log
(Indice pour utiliser la commande 'unzip' présente depuis le début)
$ unzip SacÀdos.zip
$ ./Marchand
> (choix des trucs échangeables)
# exemple dans la bibliotheque
$ ./Grep
> … bla bla …
> Grep s'est auto-installé dans le système en tant que 'grep'
$./Grep -h
> grep motif fichier