Bagaimana cara menjalankan file .rb dari IRB?

89

Saya memulai dengan Ruby on Rails. Saat ini saya sedang menjalani tutorial di mana dikatakan bahwa saya harus menjalankan file .rb dari IRB dan itu akan membuat file .xml di direktori saya saat ini.

Pertanyaan saya adalah bagaimana cara menjalankan file .rb di IRB?
Dan apakah saya harus berada di direktori tempat file .rb ini berada ketika saya menjalankannya di IRB?

Saya mencoba yang berikut: cukup mengetik irbdi baris perintah di direktori file. Itu memulai sesi IRB sejauh yang saya mengerti.
Kemudian saya mengetik irb "filename.rb"yang melewati tetapi tidak membuat apa pun di direktori saat ini tetapi setidaknya itu tidak memberikan kesalahan apa pun.

Saya juga mencoba banyak hal lain yang jelas memberi saya kesalahan. Jadi saya rasa saya tidak bisa menyelesaikan ini sendiri dan mencari masalah di Google tidak membantu sama sekali.

Saya menjalankan Leopard.

Katrina
sumber

Jawaban:

176

Anda dapat "menjalankan" file di irb hanya dengan meminta atau memuatnya.

$ irb
>> load './filename.rb'

Untuk mengubah direktori kerja Anda saat ini dalam irb, Anda dapat menggunakan FileUtils :

>> require 'fileutils'
>> FileUtils.pwd # prints working directory
>> FileUtils.cd '/path/to/somewhere' # changes the directory
J -_- L
sumber
3
untuk memerlukannya dari irb Anda harus menyediakan jalur yang sepenuhnya memenuhi syarat, sebagai berikut: require '~/myrubystuff/coolstuff.rb' alih-alih hanya require 'coolstuff'
runlevel0
Saya dapat meminta fileutilsdengan nama saja, tidak diperlukan jalur direktori. Saya yakin ini bergantung pada lingkungan dan tidak semua orang perlu menggunakan jalur yang memenuhi syarat.
volx757
6

Jika Anda ingin file Anda dimuat di sesi irb dan Anda menggunakan Ruby 2+, Anda dapat memuat file di irb seperti ini:

irb -r ./the_name_of_your_file.rb

Ini membuka sesi irb dengan file yang diberikan dimuat.

Bayangkan Anda memiliki file dengan kelas seperti ini:

class Example
  def initialize(name)
    @name = name
  end

  def print__example
    p name
  end
end

Anda akan dapat menggunakan kelas Contoh di sesi irb .

Gabriel Lidenor
sumber
itulah yang sebenarnya saya cari, terima kasih banyak!
Thomas
Ini memberikan akses hanya ke fungsi, bukan variabel yang ditentukan dalam file.
Radon Rosborough
2

Kami hanya dapat membuat file .rb di direktori tempat Anda saat ini bekerja menggunakan editor teks apa pun dan ketik semua kode di ruby filename.rbdalamnya dan kemudian gunakan perintah di terminal, bukan di irb, lalu itu menunjukkan output di irb.

Sreenivas
sumber
4
Tetapi dengan memuat file, Anda dapat mengakses variabel yang ditentukan di sana. Berguna saat memecahkan masalah atau bermain dengan perpustakaan.
Sonia Hamilton
@Sreenivas Inilah yang saya cari. Terima kasih!
Joshua Pinter