Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2017-08-17T17:21:42+02:00Les derniers messages parus sur le forum de Zeste de Savoir.[Ruby] concaténation variable + string, message #1599202017-08-17T17:21:42+02:00Karnaj/@Karnajhttps://zestedesavoir.com/forums/sujet/9143/ruby-concatenation-variable-string/?page=1#p159920<blockquote>
<p>PS : l’indentation est nettement plus discutable, chacun fait comme il a envie, temps qu’il mélange pas les deux, de même pour l’utilisation de la tabulation ou pas…</p>
</blockquote>
<p>Même si Ruby n’a pas de REP (référence aux PEP de Python pour ceux qui n’auraient pas suivi <img alt=";)" src="/static/smileys/clin.png"> ), les guides de bonnes pratiques préconisent une indentation de deux espaces, et c’est aussi elle qu’on retrouve dans les projets. C’est une convention (tacite ?) donc autant l’utiliser surtout pour quand on arrivera dans un autre projet ou que quelqu’un nous rejoindra sur le notre.</p>[Ruby] concaténation variable + string, message #1599032017-08-17T14:33:23+02:00Felice/@Felicehttps://zestedesavoir.com/forums/sujet/9143/ruby-concatenation-variable-string/?page=1#p159903<p>C’est hors sujet fred1599,</p>
<p>Mais pour répondre, pour ceux que ça intéresse, nous pouvons effectivement faire la même chose en Crystal, qui lui aussi à un typage fort :
puts "test#{1}.jpg"</p>
<p>puts "test" + 1.to_s + ".jpg"</p>
<p>puts ["test", 1, ".jpg"].join("")</p>
<p>Travaillera sans problème.</p>
<p>Le test peux se faire ici :</p>
<p><a href="https://play.crystal-lang.org/#/cr">https://play.crystal-lang.org/#/cr</a></p>
<p>Le choix proposé par « Karnaj » est souvent le meilleur pour la plupart des cas.</p>
<p>PS : l’indentation est nettement plus discutable, chacun fait comme il a envie, temps qu’il mélange pas les deux, de même pour l’utilisation de la tabulation ou pas… Parce que sinon en vient à Go est l’histoire de l’accolade d’ouverture :-/.</p>[Ruby] concaténation variable + string, message #1598082017-08-15T23:18:55+02:00fred1599/@fred1599https://zestedesavoir.com/forums/sujet/9143/ruby-concatenation-variable-string/?page=1#p159808<p>Je commence le langage crystal, et comme ça ressemble beaucoup à la syntaxe ruby, je me dis que cette fonction ci-dessous devrait passer.</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3
4
5</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">st</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">)</span>
<span class="n">str_array</span> <span class="o">=</span> <span class="n">args</span><span class="o">.</span><span class="n">map</span> <span class="p">{</span><span class="o">|</span><span class="n">e</span><span class="o">|</span> <span class="n">e</span><span class="o">.</span><span class="n">to_s</span><span class="p">}</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s2">""</span><span class="p">)</span>
<span class="k">end</span>
<span class="nb">puts</span> <span class="n">st</span><span class="p">(</span><span class="s2">"test"</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">".jpg"</span><span class="p">)</span> <span class="c1"># test1.jpg</span>
</pre></div>
</td></tr></table></div>
<p>Bien ou pas, je n’ai pas assez de recul pour ça…</p>
<p>EDIT: En regardant ci-dessus, pourquoi s’embêter ?</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3
4
5</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">st</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">)</span>
<span class="n">str_array</span> <span class="o">=</span> <span class="n">args</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s2">""</span><span class="p">)</span>
<span class="k">end</span>
<span class="nb">puts</span> <span class="n">st</span><span class="p">(</span><span class="s2">"test"</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">".jpg"</span><span class="p">)</span> <span class="c1"># test1.jpg</span>
</pre></div>
</td></tr></table></div>[Ruby] concaténation variable + string, message #1598072017-08-15T23:16:54+02:00vibrice/@vibricehttps://zestedesavoir.com/forums/sujet/9143/ruby-concatenation-variable-string/?page=1#p159807<p>Une autre solution (qui ne vaut sans doute pas l’interpolation à l’exécution) : <code>frame = [dir_frame, i, '.png'].join</code> qui est potentiellement plus lisible (mais tout le monde n’a pas les mêmes goûts ;))</p>[Ruby] concaténation variable + string, message #1597932017-08-15T20:41:10+02:00Karnaj/@Karnajhttps://zestedesavoir.com/forums/sujet/9143/ruby-concatenation-variable-string/?page=1#p159793<p>Salut, </p>
<p>Le mieux reste l’interpolation.</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="n">frame</span> <span class="o">=</span> <span class="s2">"</span><span class="si">#{</span><span class="n">dir_frame</span><span class="si">}#{</span><span class="n">i</span><span class="si">}</span><span class="s2">.png"</span>
</pre></div>
</td></tr></table></div>
<p>PS : en Ruby, on privilégie une indentation de deux espaces.</p>[Ruby] concaténation variable + string, message #1597892017-08-15T20:08:24+02:00minirop/@minirophttps://zestedesavoir.com/forums/sujet/9143/ruby-concatenation-variable-string/?page=1#p159789<p>le ruby ne converti pas automatiquement en chaine les variables. il faut que tu appelles la méthode "to_s" sur l’entier: <code>frame= ( dir_frame + i.to_s + ".png")</code></p>[Ruby] concaténation variable + string, message #1597852017-08-15T19:20:38+02:00Air_maX/@Air_maXhttps://zestedesavoir.com/forums/sujet/9143/ruby-concatenation-variable-string/?page=1#p159785<p>Bonjour à tous,
Je cherche le moyen de concaténer deux variable et un string, et j’avoue (le manque d’habitude de ce langage n’aidant pas) ne pas trouver la solution :</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10
11
12</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="n">dir_frame</span><span class="o">=</span><span class="no">UI</span><span class="o">.</span><span class="n">savepanel</span><span class="s2">"Selectionner le dossier et le fichier"</span><span class="p">,</span> <span class="s2">""</span> <span class="p">,</span> <span class="s2">"angle_"</span>
<span class="k">if</span> <span class="p">(</span><span class="n">dir_frame</span><span class="p">)</span>
<span class="nb">puts</span> <span class="n">dir_frame</span>
<span class="k">else</span>
<span class="nb">puts</span> <span class="s2">"Operation annulee."</span>
<span class="nb">exit</span>
<span class="k">end</span>
<span class="o">...</span>
<span class="n">degre</span><span class="o">=</span><span class="mi">10</span>
<span class="n">degre</span><span class="o">.</span><span class="n">times</span><span class="p">{</span><span class="o">|</span><span class="n">i</span><span class="o">|</span>
<span class="n">frame</span><span class="o">=</span> <span class="p">(</span> <span class="n">dir_frame</span> <span class="o">+</span> <span class="n">i</span> <span class="o">+</span> <span class="s2">".png"</span><span class="p">)</span>
<span class="p">}</span>
</pre></div>
</td></tr></table></div>
<p>Le but est de me retrouver dans puts une chaîne ressemblant à ça :</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="ss">c</span><span class="p">:\\</span><span class="n">repertoire</span><span class="p">\</span><span class="n">angle_0</span><span class="o">.</span><span class="n">png</span> <span class="p">,</span> <span class="ss">c</span><span class="p">:\\</span><span class="n">repertoire</span><span class="p">\</span><span class="n">angle_1</span><span class="o">.</span><span class="n">png</span> <span class="o">.....</span><span class="ss">c</span><span class="p">:\\</span><span class="n">repertoire</span><span class="p">\</span><span class="n">angle_9</span><span class="o">.</span><span class="n">png</span>
</pre></div>
</td></tr></table></div>
<p>Sauf que visiblement la ligne 11 fait planter mon script (vu que si je la commente, le script poursuit son chemin.</p>
<p>Quelqu’un connait-il la bonne concaténation ?</p>
<p>Merci par avance !</p>