Dans le python du monde, il y a un certain nombre d'autres interpréteurs python qui ajoutent des frais de fonctionnalités supplémentaires. Un exemple est particulièrement utile bpython, ce qui ajoute de la dynamique de la syntaxe, extrait automatiquement de la documentation, et affiche en direct de saisie semi-automatique de l'information. Dans le Rubis du monde, je n'ai pas encore permis de découvrir des projets qui s'ajoutent à la base de la CISR interprète même un sous-ensemble de ces fonctionnalités. Suis-je juste ne regarde pas assez dur, ou est-ce juste quelque chose de la communauté Ruby est en manque?
Réponses
Trop de publicités?L'utilisation de Levier: http://pry.github.com
Vous permet de:
- début des séances à l'exécution
- méthode de vue du code source
- méthode de vue de la documentation (n'utilisant pas RI de sorte que vous n'avez pas à pré-générer)
- pop dans et hors de différents contextes
- la coloration syntaxique
- résumé de l'intégration
- la vue et la relecture de l'histoire
- ouvrir les éditeurs à modifier la méthode à l'aide d'
edit-method obj.my_method
de la syntaxe
Une tonne de plus grands et des caractéristiques d'origine
Quelle coïncidence. Rubyflow hier, a annoncé la irbtools gem, qui est un méta-gemme contenant beaucoup de fraîcheur de la cisr amélioration de pierres précieuses. Il contient:
- Colorisée et de sortie comme commentaire par
wirb
etfancy_irb
- Nice CISR rapide et de la CISR auto indentation
- Comprend stdlib de FileUtils:
ls
,cd
,pwd
,ln_s
,rm
,mkdir
,touch
,cat
- Beaucoup de débogage aides:
ap
,q
,o
,c
,y
,Object#m
,Object#d
-
ap
– awesome_print -
q
commep
, mais sur une seule ligne -
Object#m
– commandé la méthode de la liste (prend en paramètre de type entier: niveau d'imbrication) -
Object#d
– met l'objet, renvoie de soi (à l'aide d'tap
)
-
- "Magique" de l'information constantes:
Info, OS, RubyVersion, RubyEngine
OS.windows?
RubyEngine.jruby?
RubyVersion.is.at_least? 1.9
- Presse-papiers caractéristiques:
copy
etpaste
- aussi disponible:
copy_input
etcopy_output
pour la session de l'histoire
- aussi disponible:
- Appelez
vim
(ou d'une autre, pris en charge éditeur) pour éditer un fichier, fermez-la et il est chargé dans votre rir en cours de session, alimenté parinteractive_editor
- Une autre façon de vivre le chargement dans la cisr: croquis
- Mettre en évidence une chaîne de caractères avec
olorize('string')
ou un autre fichierray('path')
, alimenté par coderay - Affiche ActiveRecord entrées de base de données sous forme de tables avec
hirb
- Redémarrez
irb
avecreset!
ou de changer la version de Ruby avec l'use
méthode etrvm!
- Comprend le répertoire courant dans le répertoire de chargement (a été supprimé dans 1.9.2 pour des raisons de sécurité, mais est assez gênant dans CISR)
- Plus courte, exigeant comme ceci:
rq:mathn
- Et rerquiring avec
rrq
- Essayez incluses
Object#ri
helper, alimenté parori
! - L'accès à un plus beaucoup de commandes avec
boson
– commandes d'appel pour obtenir commencé
Il y a de belles captures d'écran sur le irbtools page. Une bonne chose, c'est que chacun des utilitaires peuvent se tenir debout sur ses propres, dans le cas où vous voulez juste de piocher une ou deux fonctionnalités.
2013 mise à Jour
Depuis que j'ai écrit cela, Soulever est devenu le standard de facto de la CISR de remplacement. Il ne veut pas en faire autant que irbtools
hors de la boîte, mais il extensible avec le plugin gemmes et ce qu'il permet est wicked cool. Vous pouvez parcourir le code source comme c'était un répertoire unix:
pry(main)> cd FileUtils
pry(FileUtils):1> show-method rm
From: /opt/ruby/lib/ruby/1.9.1/fileutils.rb @ line 556:
Number of lines: 10
Owner: FileUtils
def rm(list, options = {})
fu_check_options options, OPT_TABLE['rm']
list = fu_list(list)
fu_output_message "rm#{options[:force] ? ' -f' : ''} #{list.join ' '}" if options[:verbose]
return if options[:noop]
list.each do |path|
remove_file path, options[:force]
end
end
pry(FileUtils):2>
Vous pouvez également parcourir documentation de Ruby, émettre des commandes du shell, et si vous êtes un Rails de l'utilisateur, vous pouvez utiliser l' pry-rails
gem pour obtenir soulever dans votre console Rails. Il est également possible de le brancher en Sinatra et de l'utiliser avec Heroku.
Il y a une ample documentation--il y a un tas de screencasts, y compris un Railscast. C'est certainement la peine de regarder dans.
Je n'ai jamais entendu parler d'un (populaire) alternative à la CISR, mais il y a certainement plusieurs utile pierres précieuses qui font de la CISR expérience beaucoup plus agréable:
- awesome_print assez imprime les objets Ruby avec l'indentation et la coloration, très utile lorsque vous essayez de regarder imbriqués les hachages ou d'autres structures de données complexes.
-
looksee est assez génial aussi, il fournit une méthode
lp
(chemin de recherche) qui vous montre où un Rubis objet obtient ses méthodes de (classe de super-classe, etc). -
Croquis connecte votre éditeur et de la CISR, il est donc particulièrement utile si vous êtes le type qui aime de développement interactif. Emacs avec
inf-ruby
est également bon pour cela. - Wirble est un ensemble de RIR des améliorations, comme l'onglet de l'achèvement et de la syntaxe. Il y a aussi la Ceinture d'Utilité, mais je n'ai personnellement pas l'utiliser, ne peut donc pas commenter sur ses caractéristiques.
Modifier
J'ai oublié Hirb, ce qui est très utile pour, par exemple, avec les résultats de la ActiveRecord requête dans une console Rails.
Il y a http://github.com/alloy/dietrb.