Pregunta

En el mundo pitón, hay una serie de intérpretes pitón alternativas que añaden funciones adicionales enfriar. Un ejemplo particularmente útil es bpython, que añade resaltado de sintaxis dinámico, tira automáticamente la documentación, y muestra la información en vivo autocompletar. En el mundo de Ruby, todavía tengo que descubrir todos los proyectos que se suman al intérprete IRB básico e incluso un subconjunto de estas características. Simplemente no estoy buscando lo suficiente, o es sólo algo falta la comunidad Ruby?

¿Fue útil?

Solución

Qué casualidad. Rubyflow ayer anunció la irbtools gema, que es un meta-joya que contiene una gran cantidad de joyas de mejora fresco IRB. Contiene:

  • tintadas y se emite como comentario de wirb y fancy_irb
  • Niza IRB rápido y automático del IRB sangría
  • Incluye stdlib de FileUtils: ls, cd, pwd, ln_s, rm, mkdir, touch, cat
  • Muchas ayudantes de depuración: ap, q, o, c, y, Object#m, Object#d
    • ap - awesome_print
    • q - como p, pero en una línea
    • Object#m - ordenado lista de métodos (toma número entero de parámetros: nivel de anidamiento)
    • Object#d - pone el objeto, devoluciones auto (usando tap)
  • “mágicas” constantes de información: Info, OS, RubyVersion, RubyEngine
    • OS.windows?
    • RubyEngine.jruby?
    • RubyVersion.is.at_least? 1.9
  • Portapapeles características: copy y paste
    • También disponible: copy_input y copy_output de historial de la sesión
  • vim de llamadas (u otro editor compatible) para editar un archivo, cerca de ella y que se carga en su sesión de IRB actual, impulsado por interactive_editor
  • Otro modo de carga vivo en IRB: bocetos
  • Resaltar una cadena con olorize('string') o un archivo con ray('path'), impulsado por coderay
  • Muestra entradas de la base de ActiveRecord como tablas con hirb
  • irb Reiniciar con reset! o cambiar la versión rubí con el método use y rvm!
  • Incluye el directorio actual en la ruta de carga (fue eliminado en 1.9.2 por razones de seguridad, pero es bastante molesto en el IRB)
  • Más corto que requiere la siguiente manera: rq:mathn
  • Y rerquiring con rrq
  • Prueba el ayudante Object#ri incluido, impulsado por ori!
  • El acceso a una gran cantidad de más comandos con boson - comandos de llamada para comenzar

Hay muy buenas capturas de pantalla en el href="http://irb.tools/" rel="nofollow noreferrer"> irbtools página . Lo bueno de esto es que cada una de las empresas de servicios públicos pueden valerse por sí misma, en caso de que lo que desea es cereza recoger una o dos características.

Actualización 2013

Desde que escribí esto, palanca se ha convertido en un sustituto IRB popular. No hace tanto como irbtools fuera de la caja, pero es extensible con el plugin gemas que añaden características interesantes. Puede navegar por el código fuente como si fuera un directorio 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>

También puede navegar por la documentación de Ruby, comandos shell cuestión, y si usted es un usuario de rieles, se puede utilizar la gema pry-rails para conseguir la palanca en la consola de Rails. También hay una manera de conectar en Sinatra y utilizarlo con Heroku.

Hay una amplia documentación - hay un montón de grabaciones de pantalla, incluyendo una Railscast. Es, definitivamente, vale la pena analizar.

Otros consejos

El uso de la palanca: http://pry.github.com

permiten es:

  • iniciar sesiones en tiempo de ejecución
  • código de la vista fuente método
  • documentación del método vista (no usar RI por lo que no tiene que pre-generarlo)
  • entrar y salir de diferentes contextos
  • resaltado de sintaxis
  • Integración GIST
  • vista y la historia de repetición
  • editores abiertos a editar utilizando el método edit-method obj.my_method sintaxis

Una tonelada más grandes y originales características

nunca he oído de un (popular) alternativa a la IRB, pero ciertamente hay varias gemas útiles que hacen que la experiencia más agradable IRB un montón:

  • awesome_print bastante imprime objetos rubí con sangría y colorear, muy útil cuando se trata de mirar a los hashes o anidados otras estructuras de datos complejas.
  • looksee es bastante increíble, que proporciona un método lp (ruta de búsqueda) que muestra que una objeto de ruby ??obtiene sus métodos de (clase, superclase etc).
  • Sketches conecta su editor e IRB, por lo que es especialmente útil si usted es el tipo que le gusta de desarrollo interactivo. Emacs con inf-ruby también es bueno para esto.
  • Wirble es todo un conjunto de mejoras del IRB, al igual que la implementación del tabulador y resaltado de sintaxis. También hay Cinturón de herramientas de , pero yo no uso personal que, por lo que no puede comentar sobre sus características.

Editar

Hirb , que es muy útil para, por ejemplo muestra los resultados de una consulta de ActiveRecord en una consola de Rails.

barcos JRuby con jirb_swing, que proporciona la finalización de código.

No hay mucho en el área de alternativas a la IRB, pero hay un par de joyas que añadir funciones útiles para IRB.

Lo más notable es wirble , que, entre otras cosas, permite obtener impresiones de color (no a pesar de la entrada) y una historia que va más allá de la sesión actual.

RIPL , una alternativa IRB modular que está diseñado para ser extensible. También es posible obtener algunas respuestas de ¿Existe algo así como bpython para Ruby? .

costilla es un shell interactivo modular y la luz Ruby.

, como palanca, utiliza analizador de Ruby por lo que tiene un comportamiento coherente con Ruby por lo tanto menos errores (por ejemplo, https://stackoverflow.com/ a / 39271791/474597 )

Es modular lo que uno puede extender fácilmente con más funcionalidades.

es también todavía mantiene activamente como de 2016.

Me hizo una consola de Ruby puro, inspirado fuera de la consola JavaScript de Google Chrome.

https://github.com/sancarn/RubyConsole

Es todavía en su mayoría un proyecto WIP como sigo encontrando errores con el algoritmo actual, sin embargo estoy construyendo que sea compatible 1.9.3+.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top