7
votes

Impressionnant l'exemple de rubis

Quelques jours, je donne une conversation sur un projet de rails à l'université et je tiens à introduire le public à Ruby.

Je veux leur montrer un ou deux très bons exemples de code pour démontrer à quel point Ruby est génial.

connaissez-vous un bon exemple?

meilleures salutations


0 commentaires

10 Réponses :


1
votes

Vous devriez totalement lui montrer la matrice de Dwemthy, c'est tellement très racontant le pouvoir qui réside dans la méta-programmation dans Ruby.

Trouvez-le ici!


3 commentaires

Cet exemple est trop complexe. Il devrait être composé de max. 4-5 lignes.


J'aime comment, en gros, chaque tutoriel de rubis sans exception, vous pouvez presque sentir les vrilles de la folie tendre la main pour tirer le lecteur dans la cauchemar schizophrène de l'auteur.


@Julet: Il est clair que vous ne lisez que des tutoriels écrits ou inspirons par _Pourquoi.



2
votes
irb(main):007:0> 2**2048
=> 32317006071311007300714876688669951960444102669715484032130345427524655138867
89089319720141152291346368871796092189801949411955915049092109508815238644828312
06308773673009960917501977503896521067960576383840675682767922186426197561618380
94338476170470581645852036305042887575891541065808607552399123930385521914333389
66834242068497478656456949485617603532632205807780565933102619270846031415025859
28641771167259436037184618573575983511523016459044036976132332872312271256847108
20209725157101726931323469678542580656697935045997268352998638215525166389437335
543602135433229604645318478604952148193555853611059596230656
try 2 ** 20000 or any other ridiculous large number. 

0 commentaires

6
votes

Montrez-leur comment vous transformez de 50 lignes laides de code sale dans 3 Nettoyer les penchants de code très facile à comprendre. (Étant la première ligne d'un commentaire)

Ne montre pas à quel point tu es cool avec Ruby. Mais à quel point ils seront cools s'ils utilisent Ruby :)


3 commentaires

Bonne idée! En fait, je voulais leur montrer, à quel point ils pourraient être cool ;-)


Certains des projets de whandy, comme des chaussures ou des bloopsaphones, sont assez géniaux. En outre, vous pouvez trouver une vidéo de certaines de ses présentations en ligne, qui sont assez inspirées.


Cela compte-t-il toujours si vous pouviez convertir 50 lignes laides de langage C # en 3 lignes propres de langue c # (c'est-à-dire THEDailyWTF.com/articles/a-little-more-Simplified.aspx ). En d'autres termes, assurez-vous que vos 50 lignes de code laids sont représentatives et idiomatique dans la langue que vous cible (c'est-à-dire voir comment 218 lignes de C # se transforment en 65 lignes de F #: Stackoverflow.com/questions/694651/ ... ).



4
votes

Je suis impressionné par ce qui peut être fait avec Tweetstream. Il est si facile de surveiller les sujets de tendance.

Installez avec: xxx

Voici le code de démonstration: xxx vous Besoin de créer un fichier appelé .Twitter dans votre répertoire racine d'utilisateur, du formulaire: xxx

remarque comment Ruby lit cette configuration en seulement 4 lignes (y compris la YAML requis.)

Vous l'exécutez comme ceci: xxx

(rappelez-vous que vous devez échapper # sur Mac / Linux, par exemple: tweetmon.rb \ #dedids )

à partir d'un tel extrait simple, vous pouvez faire des choses comme compter combien de fois chaque individu contribue, capturer des segments de Tweetstream à un fichier. . Toutes sortes de choses de ce point de départ ...


1 commentaires

C'est en fait une bibliothèque vraiment cool . Il n'y a rien qui crie vraiment - "Ruby Rocks!".



2
votes

Si vous connaissez Java, créez une liste de chaînes, triez-la avec votre propre comparateur personnalisé (longueur de chaîne) et imprimez la liste. Faites la même chose dans Ruby ...


0 commentaires

5
votes

Je suggérerais fortement quelque chose avec .uite , .Iject .Collect . Par exemple: xxx

ou xxx

ou xxx


0 commentaires


1
votes

Ruby m'appelle-moi parce que cela me permet souvent de faire ce que je veux faire, plutôt que de passer une grande quantité de temps "Configuration" de la solution. Donc, quelques exemples:

Somme les nombres non négatifs dans le tableau [-1, 3, -10, 0, 5, 8, 16, -3,14159] strong> p> xxx pré>

comparé à un formulaire commun à d'autres langues: p> xxx pré>

manipulation d'exception simple forte> p>

class Array
  def sum_of_squares
    map { |x| x * x }.inject { |acc, x| acc + x }
  end
end

[1, 3, 5, 9].sum_of_squares


0 commentaires


0
votes

Je montrerais à quel point il est simple de créer de belles DSL - méthodal_missing en particulier est vraiment simple à saisir mais très puissant et vous permet de faire des trucs vraiment cool.


0 commentaires