Domanda

Per coloro che non hanno utilizzato DrScheme, la finestra è divisa in due parti:una parte è un file che stai modificando e l'altra è la shell interattiva.Quando eseguo un file, viene caricato nell'ambiente interattivo, quindi posso richiamare le funzioni che ho definito, ecc.L'ambiente interattivo ha ancora tutte le funzionalità dell'editor di testo (evidenziazione della sintassi, completamento automatico, ecc...)

Quindi esiste un IDE per Ruby che non si limita a eseguire lo script che sto creando, ma lo carica invece in irb, con tutte le chicche dell'editor di testo?

È stato utile?

Soluzione

Questa precisa richiesta (anche se il Dr Scheme l'ha motivata) è ciò che alla fine mi ha spinto a imparare Emacs.

Ecco cosa ho fatto per installarlo sotto Windows Vista:

  1. Scarica Emacs da http://ftp.gnu.org/gnu/windows/emacs/emacs-22.3-bin-i386.zip

  2. Decomprimilo nella directory di tua scelta

  3. Dopo averlo decompresso, crea un file include directory ovunque desideri e copia lì entrambi ruby-mode.el E rubino-inf.el (questi vengono forniti con la distribuzione Ruby nella directory misc e possono anche essere scaricati da La fonte di Ruby

  4. Modifica il tuo .emacs per dirgli dove trovare i tuoi include e come usarli

; directory to put various el files into
(add-to-list 'load-path "C:/emacs-22.3/includes")
;(1)modify .emacs to use ruby-mode 
(autoload 'ruby-mode "ruby-mode"
  "Mode for editing ruby source files" t)
(setq auto-mode-alist
      (append '(("\\.rb$" . ruby-mode)) auto-mode-alist))
(setq interpreter-mode-alist (append '(("ruby" . ruby-mode))
                              interpreter-mode-alist))
;(2)set to load inf-ruby and set inf-ruby key definition in ruby-mode. 

(autoload 'run-ruby "inf-ruby"
  "Run an inferior Ruby process")
(autoload 'inf-ruby-keys "inf-ruby"
  "Set local key defs for inf-ruby in ruby-mode")
(add-hook 'ruby-mode-hook
      '(lambda ()
         (inf-ruby-keys)
))

(facoltativo) Ho anche installato mode-compile.el da http://perso.tls.cena.fr/boubaker/distrib/mode-compile.el e ho apportato le modifiche corrispondenti in .emacs

; Install mode-compile
(autoload 'mode-compile "mode-compile"
   "Compile current buffer based on the major mode" t)
(global-set-key "C-cc" 'mode-compile)
(autoload 'mode-compile-kill "mode-compile"
 "Kill compilation launched by `mode-compile'" t)
(global-set-key "C-ck" 'mode-compile-kill)

Con queste modifiche Emacs identificherà automaticamente un file .rb come Ruby ed evidenzierà la sintassi.Quindi con l'accordo \C-c\C-s (Control-c, rilascia e poi Control-s) irb inizierà nella casella sotto il tuo file e potrai utilizzare tutte le chiavi definite da inf-ruby:(\M è il Meta Key che per Windows significa Alt)

  "\C-c\C-b" 'ruby-send-block
  "\C-c\M-b" 'ruby-send-block-and-go
  "\C-c\C-x" 'ruby-send-definition
  "\C-c\M-x" 'ruby-send-definition-and-go
  "\C-c\C-r" 'ruby-send-region
  "\C-c\M-r" 'ruby-send-region-and-go
  "\C-c\C-z" 'switch-to-ruby
  "\C-c\C-l" 'ruby-load-file
  "\C-c\C-s" 'run-ruby

Se hai eseguito il passaggio facoltativo e installato la modalità di compilazione, puoi anche utilizzare \C-cc per inviare il file corrente a Ruby invece che a irb

Altri suggerimenti

Non ho ancora lavorato con DrScheme, ma Netbeans 6.5 include un'IRB full-optional. Avete dato una prova?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top