Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3126 connectés 

 

Sujet(s) à lire :
    - Who's who@Programmation
 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  24437  24438  24439  ..  27006  27007  27008  27009  27010  27011
Auteur Sujet :

[blabla@olympe] Le topic du modo, dieu de la fibre et du monde

n°2403291
skeye
Posté le 09-12-2021 à 22:22:00  profilanswer
 

Reprise du message précédent :
Oh par contre lolilol sur des strings, tiens... :D

Code :
  1. $a = '1';
  2. $a[2] = [1, 2, 3];
  3.  


 

Citation :


PHP Warning:  Array to string conversion in ...
PHP Warning:  Only the first byte will be assigned to the string offset in ...
string(3) "1 A"


 
J'espère que le warning est passé en error pour php8.1... :o


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 09-12-2021 à 22:22:00  profilanswer
 

n°2403292
R3g
fonctionnaire certifié ITIL
Posté le 09-12-2021 à 22:36:41  profilanswer
 

pfiou, journée de merde...
 
J'ai pas pu me mettre sur AoC avant ce soir, et je me suis bien embrouillé sur la part 2, j'ai pondu un sacré gloubiboulga : https://pastebin.com/kAPCq6XR


---------------
Au royaume des sourds, les borgnes sont sourds.
n°2403293
nraynaud
lol
Posté le 09-12-2021 à 22:37:37  profilanswer
 

skeye a écrit :


 
oui tu peux. C'est mal, mais pas interdit.
 
[edit]
 
Il me semblait bien que c'était plus le cas en php8...

Citation :

PHP Fatal error:  Uncaught Error: Cannot use a scalar value as an array


 


du coup il faut écrire quoi si je veux réduire la longueur de l'expression partout ?


---------------
trainoo.com, c'est fini
n°2403294
masklinn
í dag viðrar vel til loftárása
Posté le 09-12-2021 à 22:43:52  profilanswer
 


Macos qui fait de l’ocr transparent, donc je peux sélectionner le texte dans le screenshot (mais en copiant ailleurs la reconnaissance est discutable :D)


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2403295
ratibus
Posté le 09-12-2021 à 22:44:36  profilanswer
 

nraynaud a écrit :

dites, on a le droit d'utiliser une variable en lvalue comme ça dans PHP 5.3 ?
https://i.imgur.com/p1yXlfx.png
 
le warning me stresse un peu


 
Si tu peux mais il manque un & sur ta ligne 2, après le =
https://www.php.net/manual/en/langu [...] whatdo.php
C'est justement pour ça que t'as le warning. Ta variable intermédiaire c'est une copie.

Message cité 1 fois
Message édité par ratibus le 09-12-2021 à 22:47:38

---------------
Mon blog
n°2403296
gfive
Posté le 09-12-2021 à 23:13:11  profilanswer
 

putain de partie  2 :D

 

JE me suis enferré dans mon histoire de segments (a priori le calcul des segments était bon, c'est le regroupement en bassins qui péchait.. Sur le test c'était ok. Du coup j'en ai eu marre et j'ai implémenté ça de proche en proche en partant des lowpoints.

 

Ca m'a pris 12 minutes [:tinostar]

 

https://github.com/elacazed/aoc2021 [...] 1/D09.java


Message édité par gfive le 09-12-2021 à 23:14:10

---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2403298
nraynaud
lol
Posté le 10-12-2021 à 01:08:29  profilanswer
 

https://gist.github.com/nraynaud/ea [...] d71b3e8e6b
 
moi j'ai fait ça.
 
C'est le même que ce que j'ai fait cet été en géographie, tu scanne l'image de haut en bas en rattachant les fragments de polygones ensemble.
C'est juste une image binaire seuillée à <9


---------------
trainoo.com, c'est fini
n°2403299
nraynaud
lol
Posté le 10-12-2021 à 01:12:14  profilanswer
 

ratibus a écrit :


 
Si tu peux mais il manque un & sur ta ligne 2, après le =
https://www.php.net/manual/en/langu [...] whatdo.php
C'est justement pour ça que t'as le warning. Ta variable intermédiaire c'est une copie.


ah merci, je regade, ça fait longtemps PHP


---------------
trainoo.com, c'est fini
n°2403300
nraynaud
lol
Posté le 10-12-2021 à 02:56:49  profilanswer
 

https://i.imgur.com/PHutp4Y.png
le pire des 2 mondes: des répertoires créés à partir des infos fournis par le navigateur *ET* que t'as pas mis ton mkdir en récursif.
 
C'est ni sécure, ni pratique


---------------
trainoo.com, c'est fini
n°2403301
R3g
fonctionnaire certifié ITIL
Posté le 10-12-2021 à 06:53:36  profilanswer
 

La nuit portant conseil, j'ai compris ce qui m'a fait galérer dans l'AoC d'hier. Ca se résume à ça :

Code :
  1. class Foo:
  2.     def bar(self):
  3.         for i in range(3):
  4.             toto = self.baz()
  5.             print(toto)
  6.  
  7.     def baz(self, tata = []):
  8.         for i in range(3):
  9.             tata.append(i)
  10.         return tata
  11.  
  12. Foo().bar()


[0, 1, 2]
[0, 1, 2, 0, 1, 2]
[0, 1, 2, 0, 1, 2, 0, 1, 2]


C'est moi ou ce comportement n'est pas tout à fait intuitif ?


---------------
Au royaume des sourds, les borgnes sont sourds.
mood
Publicité
Posté le 10-12-2021 à 06:53:36  profilanswer
 

n°2403302
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 10-12-2021 à 07:02:38  profilanswer
 

AoC, une jolie pile en C++ : https://pastebin.com/GAGtrn1m

Message cité 1 fois
Message édité par hephaestos le 10-12-2021 à 07:04:53
n°2403303
nucl3arfl0
Better Call Saul
Posté le 10-12-2021 à 07:05:38  profilanswer
 

Ben c'est normal, tu mets une valeur par défaut en paramètre de ta fonction. Donc pour lui il pense que son scope est au delà de la fonction. Et comme tu passes des valeur par référence, ben il te renvoie le même objet.
C'est comme ça que je le comprends.

 

Après je connais pas bien python mais si tu fais la déclaration de ta variable dans la fonction et pas en paramètre ça donne quoi ?

n°2403304
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 10-12-2021 à 07:05:58  profilanswer
 

R3g a écrit :

La nuit portant conseil, j'ai compris ce qui m'a fait galérer dans l'AoC d'hier. Ca se résume à ça :

Code :
  1. class Foo:
  2.     def bar(self):
  3.         for i in range(3):
  4.             toto = self.baz()
  5.             print(toto)
  6.  
  7.     def baz(self, tata = []):
  8.         for i in range(3):
  9.             tata.append(i)
  10.         return tata
  11.  
  12. Foo().bar()


[0, 1, 2]
[0, 1, 2, 0, 1, 2]
[0, 1, 2, 0, 1, 2, 0, 1, 2]


C'est moi ou ce comportement n'est pas tout à fait intuitif ?


 
En tant que non initié, je confirme que c'est surprenant.

n°2403305
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 10-12-2021 à 07:06:46  profilanswer
 

nucl3arfl0 a écrit :

Ben c'est normal, tu mets une valeur par défaut en paramètre de ta fonction. Donc pour lui il pense que son scope est au delà de la fonction. Et comme tu passes des valeur par référence, ben il te renvoie le même objet.
C'est comme ça que je le comprends.  
 
Après je connais pas bien python mais si tu fais la déclaration de ta variable dans la fonction et pas en paramètre ça donne quoi ?


"Donc"

n°2403306
nucl3arfl0
Better Call Saul
Posté le 10-12-2021 à 07:11:02  profilanswer
 


Donc c'est python :D
C'est comme s'il avait déclaré tata avant self.baz()

n°2403307
nraynaud
lol
Posté le 10-12-2021 à 07:28:31  profilanswer
 

pas top le AOC aujourd'hui :/
 
https://gist.github.com/nraynaud/a4 [...] 35338ea77f
 


---------------
trainoo.com, c'est fini
n°2403308
R3g
fonctionnaire certifié ITIL
Posté le 10-12-2021 à 07:30:55  profilanswer
 

nucl3arfl0 a écrit :

Ben c'est normal, tu mets une valeur par défaut en paramètre de ta fonction. Donc pour lui il pense que son scope est au delà de la fonction. Et comme tu passes des valeur par référence, ben il te renvoie le même objet.
C'est comme ça que je le comprends.  
 
Après je connais pas bien python mais si tu fais la déclaration de ta variable dans la fonction et pas en paramètre ça donne quoi ?


oui c'est bien qui se passe, si je passe [] en paramètre ça marche. C'est sans doute logique dans le fonctionnement des objets en python, mais ça m'a surpris


---------------
Au royaume des sourds, les borgnes sont sourds.
n°2403309
nraynaud
lol
Posté le 10-12-2021 à 07:30:55  profilanswer
 

R3g a écrit :

La nuit portant conseil, j'ai compris ce qui m'a fait galérer dans l'AoC d'hier. Ca se résume à ça :

Code :
  1. class Foo:
  2.     def bar(self):
  3.         for i in range(3):
  4.             toto = self.baz()
  5.             print(toto)
  6.  
  7.     def baz(self, tata = []):
  8.         for i in range(3):
  9.             tata.append(i)
  10.         return tata
  11.  
  12. Foo().bar()


[0, 1, 2]
[0, 1, 2, 0, 1, 2]
[0, 1, 2, 0, 1, 2, 0, 1, 2]


C'est moi ou ce comportement n'est pas tout à fait intuitif ?


dans tous les langages tu as des attarderie sur les initialiseurs des valeurs par défaut.
Je crois qu'il y a que JS qui copie bien la valeur comme on le voudrait.
 
Le top c'étalt smalltalk, si tu niques l'initialiseur, il est niqué en mémoire pour tout le monde, mais il est toujours bien écrit comme tu l'as mis dans le code source. Et en smalltalk, on sauve la mémoire sur le disque.


---------------
trainoo.com, c'est fini
n°2403310
nucl3arfl0
Better Call Saul
Posté le 10-12-2021 à 07:36:13  profilanswer
 

R3g a écrit :


oui c'est bien qui se passe, si je passe [] en paramètre ça marche. C'est sans doute logique dans le fonctionnement des objets en python, mais ça m'a surpris


Je trouve python bien trop permissif.
Probablement dû au fait qu'il ne soit pas fortement typé..

n°2403311
nraynaud
lol
Posté le 10-12-2021 à 07:42:30  profilanswer
 

il faut aussi avoir un mécanisme dans le langage pour faire des copies implicites, c'est pas forcément évident.


---------------
trainoo.com, c'est fini
n°2403312
flo850
moi je
Posté le 10-12-2021 à 07:44:17  profilanswer
 

Il y a de la neige, c'est le bordel


---------------

n°2403313
masklinn
í dag viðrar vel til loftárása
Posté le 10-12-2021 à 08:01:32  profilanswer
 

nucl3arfl0 a écrit :


Je trouve python bien trop permissif.
Probablement dû au fait qu'il ne soit pas fortement typé..


1. “Fortement typé” n’est pas une vraie notion ou qualification de quoi que ce soit. Ça ne veut assez littéralement rien dire.
2. Le comportement des valeurs par défaut n’a aucun rapport avec le typage. Par exemple Ruby et Javascript ont un comportement différent.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2403314
masklinn
í dag viðrar vel til loftárása
Posté le 10-12-2021 à 08:05:00  profilanswer
 

https://github.dev  [:le rageux:8]  
 
Ouvres une pr, remplace .com par .dev, attends 5mn (que tout se charge) -> t’as la PR dans un vscode/web avec un plugin “review mode” activé  [:daddyfatsax]  

nraynaud a écrit :

il faut aussi avoir un mécanisme dans le langage pour faire des copies implicites, c'est pas forcément évident.


En l’occurrence JS et Ruby qui ont un comportement “correct” (pour ce problème spécifique) vont “simplement” délayer l’évaluation des valeurs par défaut à l’appel de fonction, raison pour laquelle tu peux avoir des valeurs par défaut calculées sur base des paramètres précédents, genre

Code :
  1. def foo a, b=a+1
  2. end


Le modèle d’évaluation de python est différent, toutes les valeurs par défaut sont évaluées une seule fois à l’initialisation et stockée dans l’objet fonction. Donc l’équivalent est une erreur parce que `a` n’est pas trouvé dans la scope parent, donc il va pêter. S’il y a un `a` dans la scope de définition ça va passer, mais probablement pas avoir l’effet escompté.

Message cité 3 fois
Message édité par masklinn le 10-12-2021 à 08:08:41

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2403315
R3g
fonctionnaire certifié ITIL
Posté le 10-12-2021 à 08:09:46  profilanswer
 

hop , day 10 à l'arrache : https://pastebin.com/Ee0hvt7D
Le plus long c'était de comprendre le calcul du score en partie 2. Mais il y a du refactoring à faire.


---------------
Au royaume des sourds, les borgnes sont sourds.
n°2403316
Flaie
Posté le 10-12-2021 à 08:12:29  profilanswer
 

Day 10, comme tout le monde avec une Stack.
 
J'ai cherché une façon un peu autre et stylé de faire, mais pas trouvé, j'en appelle aux autres.
 

Spoiler :

https://rehost.diberie.com/Picture/Get/f/55470
 
Encore une fois perdu 3-4 min car j'étais parti sur des Int, qui ont overflow dans la partie 2 mais sans être négatif :o (#tarba)

n°2403317
nraynaud
lol
Posté le 10-12-2021 à 08:15:39  profilanswer
 

Flaie a écrit :

Day 10, comme tout le monde avec une Stack.
 
J'ai cherché une façon un peu autre et stylé de faire, mais pas trouvé, j'en appelle aux autres.


on doit pouvoir poser la stack sur la stack système avec une descente récursive au lieu de faire une stack explicite.


---------------
trainoo.com, c'est fini
n°2403318
nucl3arfl0
Better Call Saul
Posté le 10-12-2021 à 08:29:59  profilanswer
 

masklinn a écrit :


1. “Fortement typé” n’est pas une vraie notion ou qualification de quoi que ce soit. Ça ne veut assez littéralement rien dire.
2. Le comportement des valeurs par défaut n’a aucun rapport avec le typage. Par exemple Ruby et Javascript ont un comportement différent.


 :jap:

n°2403319
nraynaud
lol
Posté le 10-12-2021 à 08:33:56  profilanswer
 

https://github.dev/vatesfr/xen-orch [...] vm.js#L201
il tient bien la charge le merdier.


---------------
trainoo.com, c'est fini
n°2403320
ratibus
Posté le 10-12-2021 à 08:36:52  profilanswer
 

AoC du jour, j'aime bien les jours comme ça :D (2*10 minutes)
https://github.com/ratibus/adventof [...] lve_02.php
 

masklinn a écrit :

https://github.dev  [:le rageux:8]  
 
Ouvres une pr, remplace .com par .dev, attends 5mn (que tout se charge) -> t’as la PR dans un vscode/web avec un plugin “review mode” activé  [:daddyfatsax]


Toi t'as vu la video de Github sur le nouveau search :D
Note que ça marche sur quasi toutes les URL Github, pas uniquement les PR.
Genre mon AoC du jour : https://github.dev/ratibus/adventof [...] lve_02.php

Message cité 1 fois
Message édité par ratibus le 10-12-2021 à 08:40:16
n°2403321
Kenshineuh
Posté le 10-12-2021 à 08:53:49  profilanswer
 

masklinn a écrit :

https://github.dev  [:le rageux:8]  
 
Ouvres une pr, remplace .com par .dev, attends 5mn (que tout se charge) -> t’as la PR dans un vscode/web avec un plugin “review mode” activé  [:daddyfatsax]  


 
Muchacho. :(

n°2403322
el_barbone
too old for this shit ...
Posté le 10-12-2021 à 08:55:55  profilanswer
 

flo850 a écrit :

Il y a de la neige, c'est le bordel


La France :love:


---------------
En théorie, la théorie et la pratique sont identiques, en pratique, non.
n°2403323
Jubijub
Parce que je le VD bien
Posté le 10-12-2021 à 09:02:05  profilanswer
 

R3g a écrit :

La nuit portant conseil, j'ai compris ce qui m'a fait galérer dans l'AoC d'hier. Ca se résume à ça :

Code :
  1. class Foo:
  2.     def bar(self):
  3.         for i in range(3):
  4.             toto = self.baz()
  5.             print(toto)
  6.  
  7.     def baz(self, tata = []):
  8.         for i in range(3):
  9.             tata.append(i)
  10.         return tata
  11.  
  12. Foo().bar()


[0, 1, 2]
[0, 1, 2, 0, 1, 2]
[0, 1, 2, 0, 1, 2, 0, 1, 2]


C'est moi ou ce comportement n'est pas tout à fait intuitif ?


 
pour le coup ça me surprend pas, mais c'est parce que je me suis déjà fait mordre le cul par ce genre de truc :D
 


---------------
Jubi Photos : Flickr - 500px
n°2403324
R3g
fonctionnaire certifié ITIL
Posté le 10-12-2021 à 09:04:16  profilanswer
 

R3g a écrit :

hop , day 10 à l'arrache : https://pastebin.com/Ee0hvt7D
Le plus long c'était de comprendre le calcul du score en partie 2. Mais il y a du refactoring à faire.


Même solution, plus clean : https://pastebin.com/DBkyuaKs


---------------
Au royaume des sourds, les borgnes sont sourds.
n°2403325
masklinn
í dag viðrar vel til loftárása
Posté le 10-12-2021 à 09:07:12  profilanswer
 

ratibus a écrit :

Toi t'as vu la video de Github sur le nouveau search :D


J’ai vu la vidéo du search mais apparemment j’avais raté cette partie, j’ai vu passer un tweet dessus à la place.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2403326
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 10-12-2021 à 09:25:16  profilanswer
 


 
C'est marrant on sent le google en toi :D le type à l'aise dès que ça parle graph ou qu'il faut sortir une stack tout ça :o


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°2403327
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 10-12-2021 à 09:28:35  profilanswer
 

nraynaud a écrit :


dans tous les langages tu as des attarderie sur les initialiseurs des valeurs par défaut.


 
C++ be like  
https://c.tenor.com/u1V_-f-jXmcAAAAM/malreynolds-firefly.gif


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°2403328
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 10-12-2021 à 09:39:16  profilanswer
 

masklinn a écrit :

https://github.dev  [:le rageux:8]  
 
Ouvres une pr, remplace .com par .dev, attends 5mn (que tout se charge) -> t’as la PR dans un vscode/web avec un plugin “review mode” activé  [:daddyfatsax]  


 
Le moment où tu capitalises sur ton choix d'avoir tout fait en web/js avec https://www.electronjs.org/


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°2403329
Flaie
Posté le 10-12-2021 à 09:40:46  profilanswer
 

nraynaud a écrit :


on doit pouvoir poser la stack sur la stack système avec une descente récursive au lieu de faire une stack explicite.


Ah ben voila !
<spoiler>je ne sais pas faire cela</spoiler>

n°2403330
nraynaud
lol
Posté le 10-12-2021 à 09:42:01  profilanswer
 

Flaie a écrit :


Ah ben voila !
<spoiler>je ne sais pas faire cela</spoiler>


pas de stress, on a du goudron et des plumes pour les gens comme toi, on est équipés.


---------------
trainoo.com, c'est fini
n°2403331
Flaie
Posté le 10-12-2021 à 09:42:47  profilanswer
 

Ca existe depuis un moment github.dev d'ailleurs à la base le premier sur le segment c'était github1s.com (pour one second j'imagine).
 
Exemple chez rati: https://github1s.com/ratibus/advent [...] lve_02.php

n°2403332
Anonymouse
Posté le 10-12-2021 à 09:54:00  profilanswer
 

R3g a écrit :

La nuit portant conseil, j'ai compris ce qui m'a fait galérer dans l'AoC d'hier. Ca se résume à ça :

Code :
  1. class Foo:
  2.     def bar(self):
  3.         for i in range(3):
  4.             toto = self.baz()
  5.             print(toto)
  6.  
  7.     def baz(self, tata = []):
  8.         for i in range(3):
  9.             tata.append(i)
  10.         return tata
  11.  
  12. Foo().bar()


[0, 1, 2]
[0, 1, 2, 0, 1, 2]
[0, 1, 2, 0, 1, 2, 0, 1, 2]


C'est moi ou ce comportement n'est pas tout à fait intuitif ?


 
https://docs.python-guide.org/writing/gotchas/
 
Oui. C'est un classique de python. Toujours initialiser à None et dans la méthode tata = [] if tata is None else tata


Message édité par Anonymouse le 10-12-2021 à 09:57:08
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  24437  24438  24439  ..  27006  27007  27008  27009  27010  27011

Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : [blabla@olympe] Le topic du modo, dieu de la fibre et du monde


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)