|
View:
New views
14 Messages
—
Rating Filter:
Alert me
|
|
|
A propos de String et Array !Bonjour à tous !
Voilà , j'ai un nom de fichier , par ex : foo-1.0.1.tar.bz2 et j'aimerais récupérer le nom ds une variable qque soit sa longueur et l'extension ds une autre variable ... Merci de m'aider , @ Bientôt. |
|
|
[ruby-fr:1412] Re: A propos de String et Array !Il y a de multiple solutions, comme par exemple un split ou
l'utilisation d'une regexp. Regarde de ce côté là ; il n'y a que toi qui puisse t'aider car toi seul connait le format des noms de fichiers et ce que tu veux récupérer précisément. En l'occurrence, considères-tu que l'extension est bz2 ou tar.bz2 ? Y aura-t-il des points dans le nom du fichier, en dehors du séparateur nom/extension ? On ne peut te donner que quelques pistes. -- Guillaume "Zifro" DESRAT |
|
|
[ruby-fr:1413] Re: A propos de String et Array !Bonjour,
un débutant tente de répondre à un débutant avec des réponses qui doivent être fortement empreintes de mon passif perl. Il doit y avoir des solucs plus conformes a l'esprit ruby. 'nom.plein.de.points'.scan(/(.*?)\.([^.]+$)/) puts "#{$1} : #{$2}" 'nom.plein.de.points'.scan(/[^.]+$/) puts "#{$`} : #{$&}" puts /[^.]+$/.match('nom.plein.de.points').pre_match le 23/08/2006, man in the hill nous écrivait : > Bonjour à tous ! > > Voilà , j'ai un nom de fichier , par ex : foo-1.0.1.tar.bz2 et j'aimerais > récupérer le nom ds une variable qque soit sa longueur et l'extension ds une > autre variable ... -- téléphone : 03.90.24.00.19 courriel : marc.chantreux@... --------------------------------------- |
|
|
[ruby-fr:1414] Re: A propos de String et Array !Bonjour à tous
> En l'occurrence, considères-tu que l'extension est bz2 ou tar.bz2 ? Y > aura-t-il des points dans le nom du fichier, en dehors du séparateur > nom/extension ? si on considère que l'extension de ' toto.tar.bz2' est '.bz2', alors on peut s'appuyer sur les méthodes disponibles dans la classe File pour faire le travail elle-même: irb(main):001:0> name = 'foo-1.0.1.tar.bz2 ' => "foo-1.0.1.tar.bz2" irb(main):002:0> extension = File::extname(name) => ".bz2" irb(main):003:0> name_without_extension = File::basename(name,extension) => "foo-1.0.1.tar" irb(main):004:0> a+! Thibaut -- [blog] http://www.dotnetguru2.org/tbarrere |
|
|
Re: [ruby-fr:1414] Re: A propos de String et Array !Merci Thibaut ! Ruby c'est quand même extraordinaire avec toutes ces methodes qui te font le boulot avec simplicité ! J'ai encore beaucoup de choses à apprendre !!!! Merci à tous de m'avoir répondu ! @ Bientôt. |
|
|
Re: [ruby-fr:1414] Re: A propos de String et Array !salut Thibaut, J'ai vu que tu as rajouté :: entre la classe et la methode , peut-on faire de même avec les objets et les méthodes ... Sinon cela fonctionne vraiment bien ce que tu as posté ci-dessus !!!! @ Bientôt. |
|
|
[ruby-fr:1422] Re: A propos de String et Array !> J'ai vu que tu as rajouté :: entre la classe et la methode , peut-on faire
> de même avec les objets et les méthodes ... Oui, la preuve : irb(main):001:0> class A irb(main):002:1> def say irb(main):003:2> "coucou !" irb(main):004:2> end irb(main):005:1> end => nil irb(main):006:0> a = A::new => #<A:0x2c215c0> irb(main):007:0> a.say => "coucou !" irb(main):008:0> a::say => "coucou !" irb(main):009:0> -- Guillaume "Zifro" DESRAT раздираш отчаяно ! |
|
|
Re: [ruby-fr:1422] Re: A propos de String et Array !
Merci Zifro , très didactique l'exemple ! @ + |
|
|
[ruby-fr:1424] Re: A propos de String et Array !Je voudrais juste préciser une ou deux petites choses.
Dans le cas de Filename::basename, nous avons une méthode de classe, et dans l'exemple de Zifro (a::say), nous avons une méthode d'instance. Pour le '.' et '::', de ce que je sais, partout où le '.' est utilisé pour accéder à une méthode, il peut être remplacer par "::". De ce que j'ai vu dans des codes ruby, ils sont souvent utilisés de la façon suivante : Module::méthode Classe::méthode Objet.méthode Il faut aussi noter que "::" permet d'accéder à des constantes d'un module, et que le '.' ne peut pas y être utilisé. Module::Constante Module::MaClasse Mais pas : Module.Constante Module.MaClasse Les deux dernières notations généreront une erreur qui ressemble à : >Module Test > Constante = "Coucou" >end > >puts Test::Constante >puts Test.Constante Coucou undefined method `Constante' for Test:Module (NoMethodError) Simon Arnaud aka Maz |
|
|
[ruby-fr:1425] Re: A propos de String et Array !Merci pour ces précisions Maz.
On dit aussi que "::" sert à accéder à un espace de nommage, typiquement un module que l'on a requis (require "YAIB") sans inclure (include YAIB). Pourquoi ? Parce que les modules sont des instances de la classe Module, et ne définissent pas, par défaut, des accesseurs pour les constantes. Mais on peut très bien faire <module>.<méthode>... Donc, dans le cas où l'on lit YAIB::connect, on ne peut savoir si l'on accède à la méthode connect de la classe YAIB ou bien du module YAIB. Attention donc... -- Guillaume "Zifro" DESRAT раздираш отчаяно ! |
|
|
[ruby-fr:1426] Re: A propos de String et Array !J'ajoute mon grain de sel sur l'opérateur de résolution portée pr
résoudre les conflits de nom ;-) CONSTANTE = 'Hello' module Test1 CONSTANTE = ' World' def self.print puts ::CONSTANTE + CONSTANTE end end Test1::print 2006/8/25, Guillaume Zifro DESRAT <guillaume.desrat@...>: > Merci pour ces précisions Maz. > On dit aussi que "::" sert à accéder à un espace de nommage, > typiquement un module que l'on a requis (require "YAIB") sans inclure > (include YAIB). > Pourquoi ? > Parce que les modules sont des instances de la classe Module, et ne > définissent pas, par défaut, des accesseurs pour les constantes. > Mais on peut très bien faire <module>.<méthode>... > > Donc, dans le cas où l'on lit YAIB::connect, on ne peut savoir si l'on > accède à la méthode connect de la classe YAIB ou bien du module YAIB. > Attention donc... > > > > -- > Guillaume "Zifro" DESRAT > раздираш отчаяно ! > |
|
|
Re: [ruby-fr:1424] Re: A propos de String et Array !Bonjour, j'avoue que c'est loin d'être aussi claire dans mon esprit et que cette petite discussion est plûtot enrichissante ! Merci à tous ! @ Bientôt. |
|
|
[ruby-fr:1429] Re: A propos de String et Array !C'est enrichissant Ruby.
Regarde DHH avec Rails, il gagne de l'argent ! Quoiqu'il en soit, euh... non, je ne vois rien à ajouter. (désolé, Vendredi, fatigué, tout ça...) -- Guillaume "Zifro" DESRAT раздираш отчаяно ! |
|
|
[ruby-fr:1433] Re: A propos de String et Array !On Fri, 25 Aug 2006, Simon Arnaud wrote:
> Mais pas : > Module.Constante > Module.MaClasse ça se corrige... class Module def method_missing(sel,*args) if "A".."Z"===sel.to_s[0] then const_get(sel) else super end end end avec ça on peut utiliser le . pour séparer des constantes. _ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada |
| Free embeddable forum powered by Nabble | Forum Help |