Compare commits

...

3 commits

Author SHA1 Message Date
rick dee1b30eb3
Ajout jour12 2021-03-24 21:26:25 +01:00
rick ba6d6b5f5a
Ajout première partie 2021-03-24 21:25:07 +01:00
rick 6a9a9220b7
Suppression Lua dans la liste des langages 2021-03-24 19:15:16 +01:00
3 changed files with 67 additions and 2 deletions

View file

@ -22,7 +22,7 @@ mono jour10.exe
| 9 | | | | | |
| 10 |Visual Basic | vbnc | vbnc jour10.vbs | mono jour10.exe | |
| 11 | Lua | | | lua jour11.lua | |
| 12 | | | | | |
| 12 | Node.JS | | | node jour12.js | |
| 13 | | | | | |
| 14 | | | | | |
| 15 | | | | | |
@ -132,6 +132,26 @@ lua jour11.lua
```
## Jour 12
Avant décrire le script Node.JS, jai utilisé une REGEX pour la première partie. Il suffit dadditionner les nombres du fichier ! Ça se fait très facilement en Bash. Par contre, la REGEX de la partie 2, si elle existe, est beaucoup plus complexe. Jai préféré réécrire ma réponse à la question 1 en Node.JS, langage logique pour du JSON.
Voici la ligne bash décortiquée en script pour une meilleure compréhension :
```bash
sum=0
for i in $(grep -oE '(-)?[[:digit:]]+' input)
do
sum=$(($sum + $i))
done
echo $sum
```
Sinon, il suffit dinstaller `node` et de lancer avec la commande suivante, aucune dépendance nest requise :
```bash
node jour12.js
```
## Jour 13
## Jour 14
## Jour 15
@ -167,7 +187,6 @@ Liste des langages utilisés
* PHP
* Pony
* Ruby
* Lua
* Pawn
* Squirrel
* Scala

1
jour12/input Normal file

File diff suppressed because one or more lines are too long

45
jour12/jour12.js Normal file
View file

@ -0,0 +1,45 @@
const fs = require('fs');
const file = fs.readFileSync("input", "utf8");
const data = JSON.parse(file);
try {
console.log("Traitement de la première partie…");
console.log("La somme totate est " + parseJsonPrem(data));
} catch(err) {
console.log("Une erreur a été rencontrée !");
console.error(err);
}
function parseJsonPrem(obj) {
let ret = 0;
let value;
for (const index in obj) {
value = obj[index];
if (value instanceof Object) {
ret += parseJsonPrem(value);
} else if (Number.isInteger(value)) {
ret += value;
}
}
return ret;
}
/*
function parseObject(objet) {
let ret = 0;
let value;
for (const index in obj) {
value = obj[index];
if (value instanceof Array) {
ret += parseArray(value);
} else if (value instanceof Object) {
ret += parseObject(value);
} else if (Number.isInteger(value)) {
ret += value;
}
}
return ret;
}
*/