Alain Busser
9:15 AM
retour à sophus: tu proposes de faire de "de" une lambda-fonction alors que pour moi c'était une chaîne de caractères. Quel est l'avantage de la lambda-fonction sur la chaîne?9:22 AM
florian tobé
parce que le "de" est un mot de confort et que c une ruse pour ne pas avoir de virgule entre de, 310:17 AM
Alain Busser
ah OK sympa, j'adopte (au risque de s'emmêler entre les virgules et les espaces10:29 AM
Du coup ta surcharge de l'objet "Number" me donne envie de tester la même chose avec les booléens pour faire quand même des boucles "tantQue"...10:30 AM
florian tobé
il faudrait a la fin faire passer le test de turing a la machine aux intervenants de l'irem en leurs aisant lire la solution rédigée sans les points et les virgules rt avec des espaces entre tant et que :) avec ça dans alcoffethmique en mode débutant, algobox se trouvera relegué à l'etat d'antiquité.10:54 AM
J'ai pensé a une interface du style de nitrous.io (que j'utilises maintenant pour develloper c'est trop cool !) qu'en penses tu ?10:55 AM
aussi j'aurais voulu dans l'année trouver un temps pour te montrer ruby on rails, tu ferais des merveilles avec. Enfin je crois qu'on a à faire a un équivalent tout javascript (donc coffee) qui s'appelle meteor.js et qui va etre une killer app soon !10:57 AM
Alain Busser
je vais tenter (tout en buvant un grog) des trucs comme ceci:10:59 AM
Boolean::toString = if this then "Vrai" else "Faux"11:00 AM
et des équivalents pour l'affichage scientifique des nombres11:00 AM
florian tobé
jette un coup d'oeil a ça je crois que ca va nous servir11:02 AM
http://stackoverflow.com/questions/8283431/coffeescript-run-function-or-read-variable11:02 AM
pour 8.fois function ou 8.fois Integer11:02 AM
Alain Busser
je crois que tu as trouvé un moyen d'alléger le code de Sophus11:04 AM
ceci ne marche pas11:04 AM
Boolean::toString = -> if this then "vrai" else "faux"
affiche 2+2 is 411:04 AM
florian tobé
ou est le reste du code ?11:05 AM
Alain Busser
juste ça, mais dans alcoffeethmique11:06 AM
florian tobé
attends11:06 AM
Boolean::toString = () => if this then "vrai" else "faux"
affiche (2+2 is 4).toString()11:12 AM
Je reviens sur la baleine, je veux pas faire de pub pour three.js mais11:15 AM
http://blog.romanliutikov.com/post/58690562825/external-models-in-three-js11:15 AM
Alain Busser
lé bon, c'est factorisable ça (dans le source d'alcoffeethmique)11:15 AM
florian tobé
et blender...11:15 AM
je regarde11:16 AM
a la racine ?11:16 AM
Alain Busser
oui11:16 AM
ah ça c'est marrant, si je fais11:19 AM
Number::toString = ()=> this.toString().replace(".",",")
b = 7/5
affiche b.toString()11:20 AM
j'ai [object Window] au lieu des 1,4 attendus...11:20 AM
compris: this, c'est pas ça :-D11:28 AM
this se refère toujours à la fenêtre, pas à la variable courante11:28 AM
florian tobé
il faut plutot faire11:31 AM
Number::toString = () ->
"#{this}".replace(".",",")

b = (7/5).toString()
affiche b11:31 AM
la fleche grasse change l'assignement du this a l'objet courant qui ne correspond plus a la valeur Number11:32 AM
c'est la nuance entre -> et =>11:32 AM
Alain Busser
même avec la flèche grasse j'ai des erreurs11:32 AM
Boolean::toString = ()-> if this is true then "c'est vrai" else "c'est pas vrai"
b = (2+2 is 4)
affiche b.toString()11:33 AM
florian tobé
oui il ne l'a faut pas dans ce cas la11:33 AM
Alain Busser
me donne "c'est pas vrai", ce qui me remplit de doute...11:33 AM
oups11:33 AM
Boolean::toString = ()=> if this is true then "c'est vrai" else "c'est pas vrai"
b = (2+2 is 4)
affiche b.toString()11:33 AM
florian tobé
lol11:35 AM
essaye ça alors11:35 AM
Boolean::toString = ()-> if this then "c'est vrai" else "c'est pas vrai"
b = 2+2 is 4
affiche b.toString()11:35 AM
this is true is not true ! :D:D11:35 AM
Alain Busser
donne "c'est vrai" mais si je remplace le 4 par un 5 j'ai la même réponse, donc 2+2 serait égal à 5? on m'aurait menti à l'insu de mon plein gré?11:36 AM
florian tobé
haha !!!11:36 AM
j'ai dit n'importe quoi !11:40 AM
Alain Busser
je commence à comprendre pourquoi Sophus ne marche pas bien: Les booléens passent mal les conversions. çui là non plus marche pas:11:52 AM
Boolean::toString = ()->
entier = if (this is true) then 1 else 0
"#{this} -> #{["faux","vrai"][entier]}"
b = 2+2 is 4
affiche b.toString()11:52 AM
florian tobé
mystere !11:53 AM
tient j'ai mis la main sur quelque chose :11:53 AM
Boolean::toString = ->
this
b = 2+2 is 5
affiche b.toString()

Boolean::toString = ->
if this
"good"
else
"bad"
b = 2+2 is 5
affiche b.toString()11:53 AM
Alain Busser
est-ce que this reste le même this à chaque étape? En tout cas en enlevant les parenthèses on voit le code compilé et il a l'air correct...11:55 AM
florian tobé
ayé !12:00 PM
Boolean::toString = ->
if this.valueOf() then "c'est vrai !" else "c'est faux !"
b = 2+2 is 4
affiche b.toString()
b = 2+2 is 5
affiche b.toString()12:00 PM
la commande magique :12:00 PM
affiche typeof this12:00 PM
en fait this designe l'objet Booléan dont la valeur est accessible via la methode valueOf12:02 PM
Alain Busser
ah oui là je peux surcharger toString sans utiliser toString!12:02 PM
florian tobé
et oui on surcharge la méthode originale overridden !12:03 PM
Alain Busser
même pas besoin:12:03 PM
x=7/6
affiche x.toLocaleString()12:03 PM
florian tobé
et si on fait affiche "{b}" maintenant ?12:03 PM
"#{b}"12:04 PM
on conserve la methode originale !12:05 PM
Alain Busser
avec "#{b.toString()}" l'affichage est correct12:05 PM
peut-être plus prudent de surcharger toLocaleString plutôt que toString12:05 PM
florian tobé
carrement on dirait meme que le nom est approprié c'est une méthode existante !?12:06 PM
Alain Busser
pour les flottants ça met les espaces des milliers12:07 PM
florian tobé
excellent !12:07 PM
Alain Busser
et la virgule12:07 PM
florian tobé
tout ca pour rien ! non c t tres instructif12:08 PM
Alain Busser
aTable = new Date()
affiche aTable.toLocaleString()12:08 PM
facile: Je rajoute toLocaleString dans les affichages de alcoffeethmique et tout est en Français!12:09 PM
et ça a l'air récursif12:10 PM
Alain Busser
de retour après le repas, je vais voir si sophus bénéficie du valueOf pour les tests et boucles12:49 PM
Alain Busser
problème avec le "de" comme fonction: ça empêche les dentelles comme "tiers" ou "pourcents"; je laisse donc l'ancienne version1:25 PM
Alain Busser
victoire pour le foisFaire comme méthode d'un entier1:57 PM