Partage
  • Partager sur Facebook
  • Partager sur Twitter

MOOC Ruby

    11 août 2015 à 18:14:56

    Bonjour, 

    Concrètement, cela signifie que si je suis votre cours sur Ruby, a la fin du cours, je serais capable un jeu tel que Call of Duty (pour ne citer que lui) ?

    Concrètement, a la fin de votre cours, on est capable de faire quoi sur Ruby ?

    Merci d'avance.

    • Partager sur Facebook
    • Partager sur Twitter
      11 août 2015 à 21:44:52

      T'es capable d'aborder RoR et de maitrîser les concept de la programmation qui te permettront d'aborder d'autres langages.

      Bises

      • Partager sur Facebook
      • Partager sur Twitter
        13 août 2015 à 16:33:19

        RoR ?

        Avec un exemple s'il vous plait.

        • Partager sur Facebook
        • Partager sur Twitter
          13 août 2015 à 16:49:58

          <troll>Google est ton ami</troll>

          Ruby on Rails est framework web qui te permettra de coder des sites web dynamiques avec Ruby.

          Des exemples de sites très connus utilisant cette techno : Github, Scribd, Hulu et bien d'autres encore.

          Bref, lance-toi. 

          <troll> Même si à ta place je choisirai python </troll>

          • Partager sur Facebook
          • Partager sur Twitter
            14 août 2015 à 16:40:31

            pourquoi tu choisirai Python a ma place ?
            • Partager sur Facebook
            • Partager sur Twitter
              15 août 2015 à 12:06:39

              GuekoGreen a écrit:

              Bonjour, 

              Concrètement, cela signifie que si je suis votre cours sur Ruby, a la fin du cours, je serais capable un jeu tel que Call of Duty (pour ne citer que lui) ?

              Concrètement, a la fin de votre cours, on est capable de faire quoi sur Ruby ?

              Merci d'avance.


              Bonjour,

              A la fin du cours, tu seras capable de comprendre les concepts de programmation orienté objet, et donc améliorer ton style général de programmation. En terme de ce que tu peux réaliser concrètement, tu pourras créer de petits programmes simples (ouvrir un fichier, manipuler des données...). Le cours te permettra surtout d'avoir une bonne base pour apprendre plus sur le sujet, et te lancer dans le developpement d'app web complexes avec Ruby on Rails.

              Tu pourras également créer de petits jeux simples, sous forme de texte. En poussant plus loin, tu pourras utiliser ce langage pour des projets plus compliqués. Par contre Ruby ne te permettra pas de faire un jeu tel call of duty, principalement parce qu'un tel jeu demande des équipes de centaines de personnes. Si tu veux être capable de réaliser des jeux, peut être que tu pourrais jeter un oeil du côté du cours sur Unity: https://openclassrooms.com/courses/realisez-votre-premier-jeu-video-avec-unity

              Bonne continuation

              • Partager sur Facebook
              • Partager sur Twitter
                15 août 2015 à 14:53:10

                @marcgg m'a volé les mots !
                • Partager sur Facebook
                • Partager sur Twitter
                  19 août 2015 à 0:31:58

                  Salut marcgg.

                  Pour information le premier lien ne fonctionne plus

                  marcgg a écrit:

                  Bonjour à tous et à toutes !

                  Vous aurez bientôt accès au cours Lancez-vous dans la programmation avec Ruby

                  -
                  Edité par webcode 19 août 2015 à 0:32:42

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Tester le code Premium Solo et gagner un mois gratuit sans engagement, Voici le code promotionnel : WEBCODE-9F7H
                    24 août 2015 à 9:25:54

                    webcode a écrit:

                    Salut marcgg.

                    Pour information le premier lien ne fonctionne plus

                    En effet! C'est corrigé, merci pour l'info
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      24 août 2015 à 13:15:54

                      Bonjour!
                      Tout d'abord, bravo Marc! J'ai longtemps cherché le langage qui était fait pour moi, et grâce à vous, je l'ai trouvé! J'apprécie particulièrement la facultée de Ruby à être mis en place très rapidement! Cependant, je n'arrive pas à passer la première étape de ce chapitre (https://openclassrooms.com/courses/lancez-vous-dans-la-programmation-avec-ruby/faites-de-belles-boucles-avec-les-iterateurs). Comment mettre le DOS et l'éditeur de texte (en l’occurrence Notepad++) dans le même fichier? Et comment nettoyer la console? Le Ctrl+L ne fonctionne pas. J'ai pourtant bien vérifié que le DOS soit paramétré pour.

                      -
                      Edité par Anonyme 1 décembre 2015 à 23:11:57

                      • Partager sur Facebook
                      • Partager sur Twitter
                        28 août 2015 à 18:52:51

                        Je bloque sur l'activité. Dans le code de base, je remplis les
                        # A faire
                        mais la méthode 
                        def degats

                        n'est même pas utiliser dans la boucle de jeu principa. 

                        Est-ce qu'on doit coder même quand ce n'est pas préciser de le faire? Ou peut-on appeler une méthode dans une autre méthode ? (j'avoue que je sais pas trop quoi faire)

                        attr_accessor :nom, :points_de_vie, :en_vie
                        attr_accessor :degats_bonus

                        J'appelle ça personnellement les propriétés d'un objet (ou d'une instance de classe si vous préférez) mais quand dans dans les méthodes soin et degats_bonus, je tente de modifier une propriété tel que:

                        def soin
                        	# A faire:
                        	# - Gagner de la vie
                        	points_de_vie += 25
                        	# - Affiche ce qu'il s'est passé
                        	puts nom + " regagne de la vie"
                        end
                        	
                        def ameliorer_degats
                        	# A faire:
                        	# - Augmenter les dégats bonus
                        	degats_bonus += 30
                        	# - Affiche ce qu'il s'est passé
                        	puts nom + " gagne en puissance !"
                        end


                        Il y a une erreur du genre:

                        undefined method '+' for nil:NilClass (NoMethodError)

                        ...quand je tape 0 pour Se soigner ou 1 pour Améliorer son attaque. Why ?

                        remarque supplémentaire: on peut utiliser les accents comme ça sans préciser l'encodage ?

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          28 août 2015 à 20:53:36

                          Quentin Saison a écrit:

                          Cependant, je n'arrive pas à passer la première étape de ce chapitre (https://openclassrooms.com/courses/lancez-vous-dans-la-programmation-avec-ruby/faites-de-belles-boucles-avec-les-iterateurs). Comment mettre le DOS et l'éditeur de texte (en l’occurrence Notepad++) dans le même fichier?

                          -
                          Edité par Quentin Saison le 24 août 2015 à 13:16:40


                          Le DOS et ton éditeur de texte dans la même console ?

                          Si tu regardes ce qui t'est demandé, tu dois créer un fichier Ruby vide. Ensuite, tu ouvres ce fichier dans ton éditeur de texte, et dans un même temps, ta console est ouverte pour pouvoir tester et exécuter ton code. Je ne vois pas ou est le problème (?).

                          Ensuite, qu'entends tu par nettoyer la console ? Si tu veux effacer ce qui a été affiché précédemment, tu peux tout simplement utiliser la commande

                          cls



                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            28 août 2015 à 22:03:30

                            EmericV a écrit:

                            Quentin Saison a écrit:

                            Cependant, je n'arrive pas à passer la première étape de ce chapitre (https://openclassrooms.com/courses/lancez-vous-dans-la-programmation-avec-ruby/faites-de-belles-boucles-avec-les-iterateurs). Comment mettre le DOS et l'éditeur de texte (en l’occurrence Notepad++) dans le même fichier?

                            -
                            Edité par Quentin Saison le 24 août 2015 à 13:16:40


                            Le DOS et ton éditeur de texte dans la même console ?

                            Si tu regardes ce qui t'est demandé, tu dois créer un fichier Ruby vide. Ensuite, tu ouvres ce fichier dans ton éditeur de texte, et dans un même temps, ta console est ouverte pour pouvoir tester et exécuter ton code. Je ne vois pas ou est le problème (?).

                            Ensuite, qu'entends tu par nettoyer la console ? Si tu veux effacer ce qui a été affiché précédemment, tu peux tout simplement utiliser la commande

                            cls



                            Merci pour la commande ;) Et j'ai eu ma réponse sur un autre sujet, je faisais le ruby boucles.rb dans irb.

                            • Partager sur Facebook
                            • Partager sur Twitter
                              28 août 2015 à 23:49:27

                              Itachi-Uchiha a écrit:

                              Je bloque sur l'activité. Dans le code de base, je remplis les

                              # A faire

                              mais la méthode 

                              def degats

                              n'est même pas utiliser dans la boucle de jeu principa. 

                              Est-ce qu'on doit coder même quand ce n'est pas préciser de le faire? Ou peut-on appeler une méthode dans une autre méthode ? (j'avoue que je sais pas trop quoi faire)

                              attr_accessor :nom, :points_de_vie, :en_vie
                              attr_accessor :degats_bonus

                              J'appelle ça personnellement les propriétés d'un objet (ou d'une instance de classe si vous préférez) mais quand dans dans les méthodes soin et degats_bonus, je tente de modifier une propriété tel que:

                              def soin
                              	# A faire:
                              	# - Gagner de la vie
                              	points_de_vie += 25
                              	# - Affiche ce qu'il s'est passé
                              	puts nom + " regagne de la vie"
                              end
                              	
                              def ameliorer_degats
                              	# A faire:
                              	# - Augmenter les dégats bonus
                              	degats_bonus += 30
                              	# - Affiche ce qu'il s'est passé
                              	puts nom + " gagne en puissance !"
                              end


                              Il y a une erreur du genre:

                              undefined method '+' for nil:NilClass (NoMethodError)

                              ...quand je tape 0 pour Se soigner ou 1 pour Améliorer son attaque. Why ?

                              remarque supplémentaire: on peut utiliser les accents comme ça sans préciser l'encodage ?


                              La raison pour laquelle on définit cette méthode est pour une gestion plus simple du calcul des dégâts. Tu comprendra l'utilité quand tu voudras envoyer des dégâts à un personnage...

                              -
                              Edité par Jimvy 28 août 2015 à 23:50:05

                              • Partager sur Facebook
                              • Partager sur Twitter
                              Avant de poser une question sur les forums : Let me Google that for you (ou Google si vous préférez être direct).Lisez aussi les différents messages d'un sujet avant de poser une question qui pourrait déjà y avoir été répondu...
                                31 août 2015 à 17:03:47

                                Salut à tous,

                                je suis arrivé sur l'activité à faire à la fin du cours mais je bloque un peu sur la logique et je vois pas trop quoi faire.
                                Dans la méthode attaque doit-je définir le nombre de dégât à effectuer puis faire appelle dans cette méthode de la méthode subit_attaque
                                pour les retirer?

                                voici le code que j'ais fais :

                                 def attaque(personne)
                                      degat = rand(30..40)
                                      puts "#{nom} attaque #{personne.nom}"
                                      personne.subit_attaque(degat)
                                    # A faire:
                                    # - Fait subir des dégats à la personne passée en paramètre
                                    # - Affiche ce qu'il s'est passé
                                  end
                                
                                    def subit_attaque(degats_recus)
                                      personne.points_de_vie -= degats_recus
                                      puts "#{personne.nom} a subit #{degats_recus}hp de degat "
                                    # A faire:
                                    # - Réduit les points de vie en fonction des dégats reçus
                                    # - Affiche ce qu'il s'est passé
                                    # - Détermine si la personne est toujours en_vie ou non
                                  end

                                     merci d'avance

                                • Partager sur Facebook
                                • Partager sur Twitter
                                Anonyme
                                  31 août 2015 à 18:43:32



                                  -
                                  Edité par Anonyme 31 août 2015 à 20:52:47

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    31 août 2015 à 19:27:32

                                    Déjà fais gaffe aux variables : utilise self.points_de_vie ou @points_de_vie pour désigner les PV de ton personnage.

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Avant de poser une question sur les forums : Let me Google that for you (ou Google si vous préférez être direct).Lisez aussi les différents messages d'un sujet avant de poser une question qui pourrait déjà y avoir été répondu...
                                      31 août 2015 à 19:39:59

                                      le problème c'est que quand j’exécute le programme il me dit que la variable ou méthode personne n'est pas défini au niveau de la ligne 11
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        31 août 2015 à 20:03:27

                                        C'est justement ce que je voulais dire (même si c'était mal exprimé :-° ) :

                                        Le problème, c'est que dans le bloc de code qui contient la ligne 11, tu n'as aucune variable nommée "personne" : tu as juste ta classe nommée "Personne".

                                        Dans "def attaque" (lignes 1 à 8), tu peux utiliser ta variable personne car tu as une variable nommée personne : l'argument reçue dans ta fonction.

                                        Mais dans "def subit_attaque" (lignes 10 à 17), tu n'as aucune variable nommée personne. Ici, les points_de_vie sont ceux de l'objet actuel, auquel tu appliques la méthode.

                                        Aussi, tu dois appeler la variable points_de_vie relatif à l'objet actuel, et cela se fait en utilisant @points_de_vie, ou en utilisant self.points_de_vie.

                                        (Oui, ça n'a pas été dit dans le cours ^^.)

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Avant de poser une question sur les forums : Let me Google that for you (ou Google si vous préférez être direct).Lisez aussi les différents messages d'un sujet avant de poser une question qui pourrait déjà y avoir été répondu...
                                          31 août 2015 à 20:15:37

                                          Merci sa marche.

                                          si j'ai bien compris self ou @ permet d’accéder au paramètre de l'objet qu'on souhaite modifier?   

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            31 août 2015 à 20:54:20

                                            Dans l'exemple suivant :

                                            class Exemple
                                            	attr_accessor :nom, :age
                                            	def initialize(nom, age)
                                            		@nom = nom
                                            		@age = age
                                            	end
                                            	def sePresenter
                                            		puts "Je suis #{@nom} et j'ai #{@age} ans."
                                            	end
                                            end
                                            
                                            toto = Exemple.new("Toto", 10)
                                            toto.sePresenter #affiche "Je suis Toto et j'ai 10 ans."

                                            @nom permet d'accéder à la variable nom de l'objet que l'on crée (ici, l'objet toto), de la même manière que self.age accède à la variable age de toto.

                                            (En réalité, c'est encore plus compliqué que ça, mais bon.)

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Avant de poser une question sur les forums : Let me Google that for you (ou Google si vous préférez être direct).Lisez aussi les différents messages d'un sujet avant de poser une question qui pourrait déjà y avoir été répondu...
                                              3 septembre 2015 à 14:21:10

                                              Jimvy je vois pas pourquoi on doit mettre @ ou self. avant d'utiliser nom et age. Ce sont des propriétés de ta classe exemple et sePresenter est une méthode de cette même classe donc tes variables nom et age sont reconnus normalement et dans le cours le professeur réutilise bien les attr_accessor dans les méthodes sans ajouter @ ou self. Il n'utilise le @ que pour la méthode initialise.

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                3 septembre 2015 à 14:33:21

                                                Moi avec ruby j'ai toujours du mal à trouver comprendre les erreurs qu'il me renvoit. 

                                                J'ai été obligé d'utiliser des méthodes dans des objets que je passais en paramètre je sais mêmepas si on peut le faire. On me renvoit des erreurs dans des lignes où il y a rien de spécial:

                                                jeu.rb:116: class definition in method body

                                                jeu.rb:196: syntax error, unexpected end-of-input, expecting keyword_end

                                                class Personne
                                                	attr_accessor :nom, :points_de_vie, :en_vie
                                                	
                                                	def initialize(nom)
                                                		@nom = nom
                                                		@points_de_vie = 100
                                                		@en_vie = true
                                                	end
                                                
                                                	def info
                                                		# A faire:
                                                		# - Renvoie le nom et les points de vie si la personne est en vie
                                                		return nom + " (#{points_de_vie}/100 pv)" if en_vie == true
                                                		# - Renvoie le nom et "vaincu" si la personne a été vaincue
                                                		return nom + " (vaincu)"
                                                	end
                                                	
                                                	def attaque(personne)
                                                		# A faire:
                                                		# - Fait subir des dégats à la personne passée en paramètre
                                                		personne.points_de_vie -= 15
                                                		# - Affiche ce qu'il s'est passé
                                                		puts nom + " attaque " + personne.nom
                                                		
                                                	end
                                                	
                                                	def subit_attaque(degats_recus)
                                                		# A faire:
                                                		# - Réduit les points de vie en fonction des dégats reçus
                                                		points_de_vie -= degats_recus
                                                		# - Affiche ce qu'il s'est passé
                                                		puts nom + " subit #{degats_recus}hp de dégats !"
                                                		# - Détermine si la personne est toujours en_vie ou non
                                                		if points_de_vie <= 0
                                                			en_vie = false
                                                		end
                                                	end
                                                end
                                                
                                                class Joueur < Personne
                                                	attr_accessor :degats_bonus
                                                
                                                	def initialize(nom)
                                                		# Par défaut le joueur n'a pas de dégats bonus
                                                		@degats_bonus = 0
                                                		# Appelle le "initialize" de la classe mère (Personne)
                                                		super(nom)
                                                	end
                                                	
                                                	def degats
                                                		# A faire:
                                                		# - Calculer les dégats
                                                		
                                                		# - Affiche ce qu'il s'est passé
                                                	
                                                	end
                                                	
                                                	def soin
                                                		# A faire:
                                                		# - Gagner de la vie
                                                		points_de_vie += 25
                                                		# - Affiche ce qu'il s'est passé
                                                		puts nom + " regagne de la vie"
                                                	end
                                                	
                                                	def ameliorer_degats
                                                		# A faire:
                                                		# - Augmenter les dégats bonus
                                                		degats_bonus += 30
                                                		# - Affiche ce qu'il s'est passé
                                                		puts nom + " gagne en puissance !"
                                                	end
                                                end
                                                
                                                class Ennemi < Personne
                                                	def degats
                                                		# A faire:
                                                		# - Calculer les dégats
                                                	
                                                	end
                                                end
                                                
                                                class Jeu
                                                	def self.actions_possibles(monde)
                                                		puts "ACTIONS POSSIBLES :"
                                                		puts "0 - Se soigner"
                                                		puts "1 - Améliorer son attaque"
                                                
                                                		# On commence à 2 car 0 et 1 sont réservés pour les actions
                                                		# de soin et d'amélioration d'attaque
                                                		i = 2
                                                		monde.ennemis.each do |ennemi|
                                                			puts "#{i} - Attaquer #{ennemi.info}"
                                                			i = i + 1
                                                		end
                                                		puts "99 - Quitter"
                                                	end
                                                	
                                                	def self.est_fini(joueur, monde)
                                                		# A faire:
                                                		# - Déterminer la condition de fin du jeu
                                                		i = 0
                                                		monde.ennemis.each do |ennemi|
                                                			if ennemi.en_vie == false
                                                				i += 1
                                                		if i == 3
                                                			return true
                                                		elsif joueur.en_vie == false 
                                                			return true
                                                		else 
                                                			return false
                                                		end
                                                	end
                                                end
                                                
                                                class Monde
                                                	attr_accessor :ennemis
                                                	
                                                	def ennemis_en_vie
                                                		# A faire:
                                                		# - Ne retourner que les ennemis en vie
                                                		
                                                	end
                                                end
                                                
                                                ##############
                                                
                                                # Initialisation du monde
                                                monde = Monde.new
                                                
                                                # Ajout des ennemis
                                                monde.ennemis = [
                                                  Ennemi.new("Balrog"),
                                                  Ennemi.new("Goblin"),
                                                  Ennemi.new("Squelette")
                                                ]
                                                
                                                # Initialisation du joueur
                                                joueur = Joueur.new("Jean-Michel Paladin")
                                                
                                                # Message d'introduction. \n signifie "retour à la ligne"
                                                puts "\n\nAinsi débutent les aventures de #{joueur.nom}\n\n"
                                                
                                                # Boucle de jeu principale
                                                100.times do |tour|
                                                	puts "\n------------------ Tour numéro #{tour} ------------------"
                                                	
                                                	# Affiche les différentes actions possibles
                                                	Jeu.actions_possibles(monde)
                                                	
                                                	puts "\nQUELLE ACTION FAIRE ?"
                                                	
                                                	# On range dans la variable "choix" ce que l'utilisateur renseigne
                                                	choix = gets.chomp.to_i
                                                	
                                                	# En fonction du choix on appelle différentes méthodes sur le joueur
                                                	if choix == 0
                                                		joueur.soin
                                                	elsif choix == 1
                                                		joueur.ameliorer_degats
                                                	elsif choix == 99
                                                		# On quitte la boucle de jeu si on a choisi
                                                		# 99 qui veut dire "quitter"
                                                		break
                                                	else
                                                		# Choix - 2 car nous avons commencé à compter à partir de 2
                                                		# car les choix 0 et 1 étaient réservés pour le soin et
                                                		# l'amélioration d'attaque
                                                		ennemi_a_attaquer = monde.ennemis[choix - 2]
                                                		joueur.attaque(ennemi_a_attaquer)
                                                		puts joueur.nom + " profite de #{joueur.degats_bonus} points de dégats bonus"
                                                	end
                                                	
                                                	puts "\nLES ENNEMIS RIPOSTENT !"
                                                	# Pour tous les ennemis en vie ...
                                                	monde.ennemis_en_vie.each do |ennemi|
                                                		# ... le héro subit une attaque.
                                                		ennemi.attaque(joueur)
                                                	end
                                                	
                                                	puts "\nEtat du héro: #{joueur.info}\n"
                                                	
                                                	# Si le jeu est fini, on interompt la boucle
                                                	break if Jeu.est_fini(joueur, monde)
                                                end
                                                
                                                puts "\nGame Over!\n"
                                                
                                                # A faire:
                                                # - Afficher le résultat de la partie
                                                
                                                if joueur.en_vie
                                                  puts "Vous avez gagné !"
                                                else
                                                  puts "Vous avez perdu !"
                                                end



                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  3 septembre 2015 à 20:13:09

                                                  Ah oui c'est vrai j'avais oublié que Ruby était un de ces langages interprétés où la syntaxe change à chaque ligne. :lol:

                                                  En théorie, on doit mettre les @ partout, mais Ruby est intelligent, ce qui fait qu'on ne doit pas en mettre partout.

                                                  Je m'explique. Dans la méthode initialize, on a accès à deux variables nom : la première est la propriété nom de l'objet/classe, la deuxième est l'argument de la méthode. Dans ce cas, on différencie les deux en utilisant self.nom ou @nom (plus court) pour désigner la propriété.

                                                  Normalement, on devrait mettre des @ un peu partout. Mais, comme Ruby est assez flexible, il est capable de comprendre tout seul si nom réfère à la propriété, ou à une variable, ce qui fait qu'en effet, on n'en a pas besoin tout le temps.

                                                  Concrètement, il faut utiliser @ chaque fois que Ruby est susceptible de se méprendre, c'est-à-dire chaque fois qu'une propriété et une autre variable ont le même nom.

                                                  Néanmoins, mettre des @ permet aussi de voir directement les endroits où on utilise des propriétés, ça permet d'augmenter un peu la lisibilité du code.

                                                  (J'avais fait un magnifique exemple basé sur l'emploi d'une méthode changerNom dans le cas où on utiliserait un attr_reader à la place d'un attr_accessor, mais ça me semble un peu complexe. :p)

                                                  Pour tes erreurs : 2 end manquant à la ligne +/- 106 pour clore le monde.ennemis.each do et son if. La première erreur veut dire que tu déclares une classe dans une méthode, ce qui est interdit (encore que, je trouve que ça pourrait avoir son sens), et ça vient sans doute d'un end oublié quelque part... Pour bien voir ces types d'erreurs, tu peux utiliser un éditeur comme Notepad++ (encore lui, eh oui) qui indique dans la marge la hiérarchie dedef/do/if - end.

                                                  Ça élimine tes erreurs, mais en crée d'autres (entre autre, ton programme boucle).

                                                  Aussi, évite de mettre ton code en entier sur le site, pour éviter de donner une solution toute faite aux flemmards.

                                                  Par contre, je n'ai pas compris

                                                  « J'ai été obligé d'utiliser des méthodes dans des objets que je passais en paramètre je sais mêmepas si on peut le faire. »

                                                  Tu voulais dire quoi par là ?

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                  Avant de poser une question sur les forums : Let me Google that for you (ou Google si vous préférez être direct).Lisez aussi les différents messages d'un sujet avant de poser une question qui pourrait déjà y avoir été répondu...
                                                  Anonyme
                                                    5 septembre 2015 à 11:36:12

                                                    Bonjour,

                                                    est-ce que comme le Python, Ruby est un langage... comment on dit déjà? Ceux qui sont compatibles avec tous les OS sans modification du code :p Et peut-on lire un programme en Ruby si on a pas installé IRB? Et, dernière question, peut-on créer une interface graphique?

                                                    Merci d'avance :p

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      5 septembre 2015 à 12:44:44

                                                      Ruby est un langage interprété, ce qui signifie qu'il n'est compilé et exécuté que sur la machine de l'utilisaheur final. Il a donc le potentiel d'être exécuté sur différents systèmes d'exploitation. Je dis bien qu'il a le potentiel, car il faut que ton programme n'utilise pas de fonctionnalités spécifiques à l'OS, et il faut que l'interpréteur soit disponible sur l'OS cible.

                                                      Non, Ruby nécessite un interpréteur pour fonctionner. Mais coup de chance, en général, sur GNU/Linux et sur Mac OS X, c'est déjà compris dans l´OS même. Il n'y a que sur Windows, ou presque, où il faut en installer un.

                                                      Il y a différentes bibliothèques permettant de réaliser une GUI avec Ruby, dont Shoes et QtRuby (ils ont été énoncé plus haut ; ce serait bien de lire tout le sujet avant de demander :-p ). Concernant Shoes, je n'ai pas réussi à le faire fonctionner chez moi.

                                                      -
                                                      Edité par Jimvy 5 septembre 2015 à 12:45:14

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      Avant de poser une question sur les forums : Let me Google that for you (ou Google si vous préférez être direct).Lisez aussi les différents messages d'un sujet avant de poser une question qui pourrait déjà y avoir été répondu...
                                                      Anonyme
                                                        5 septembre 2015 à 14:22:07

                                                        Jimvy a écrit:

                                                        Ruby est un langage interprété, ce qui signifie qu'il n'est compilé et exécuté que sur la machine de l'utilisaheur final. Il a donc le potentiel d'être exécuté sur différents systèmes d'exploitation. Je dis bien qu'il a le potentiel, car il faut que ton programme n'utilise pas de fonctionnalités spécifiques à l'OS, et il faut que l'interpréteur soit disponible sur l'OS cible.

                                                        Non, Ruby nécessite un interpréteur pour fonctionner. Mais coup de chance, en général, sur GNU/Linux et sur Mac OS X, c'est déjà compris dans l´OS même. Il n'y a que sur Windows, ou presque, où il faut en installer un.

                                                        Il y a différentes bibliothèques permettant de réaliser une GUI avec Ruby, dont Shoes et QtRuby (ils ont été énoncé plus haut ; ce serait bien de lire tout le sujet avant de demander :-p ). Concernant Shoes, je n'ai pas réussi à le faire fonctionner chez moi.

                                                        -
                                                        Edité par Jimvy il y a environ 1 heure

                                                        Merci beaucoup :) Et désolé, je n'ai pas eu le courage de lire les 5 pages ^-^

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          9 septembre 2015 à 19:52:13

                                                          J'attends ardemment ce cours sur Ruby on rails!
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          MOOC Ruby

                                                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                          • Editeur
                                                          • Markdown