jirb - Dalam talian di Awan

Ini ialah arahan jirb yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


jirb1.3 - JRuby interaktif

SINOPSIS


jirb [pilihan]

DESCRIPTION


irb bermaksud `JRuby interaktif'. irb ialah alat untuk melaksanakan JRuby secara interaktif
ungkapan yang dibaca daripada stdin. Penggunaan jirb adalah mudah jika anda tahu JRuby. Melaksanakan jirb,
gesaan dipaparkan seperti berikut. Kemudian, masukkan ungkapan ruby. Input dilaksanakan apabila
ia dilengkapkan secara sintaksis.

$ jirb1.3
irb(utama):001:0> 1+2
3
irb(utama):002:0> kelas Foo
irb(utama):003:1> def foo
irb(utama):004:2> cetak 1
irb(utama):005:2> tamat
irb(utama):006:1> tamat
tiada
irb(utama):007:0>

Dan, modul sambungan Readline boleh digunakan dengan irb. Menggunakan Readline ialah lalai standard
tindakan jika Readline dipasang.

PILIHAN


-f menyekat bacaan ~/.irbrc

-m mod bc (pecahan atau matriks tersedia)

-d tetapkan $DEBUG kepada benar (sama seperti `ruby -d')

-r modul beban
sama seperti `ruby -r'

--periksa
menggunakan `inspect' untuk output (lalai kecuali mod bc)

--noinspect
tidak menggunakan inspect untuk output

--garis baca
menggunakan modul sambungan Readline

--noreadline
tidak menggunakan modul sambungan Readline

--prompt mod segera

--mod-prompt mod segera
menukar mod segera. Mod gesaan yang dipratakrifkan ialah `lalai', `mudah', `xmp' dan
`inf-ruby'

--inf-ruby-mode
menggunakan harga pantas untuk mod inf-ruby pada emacs. Menekan --readline.

--mudah-prompt
mod segera yang mudah

- tidak pantas
tiada segera

--penjejak
paparkan jejak untuk setiap pelaksanaan arahan.

--had-jejak-belakang n
memaparkan jejak belakang atas n dan ekor n. Nilai lalai ialah 16.

--irb_debug n
menetapkan tahap nyahpepijat dalaman kepada n (Ia tidak sepatutnya digunakan)

-v, --versi
mencetak versi irb

KONFIGURASI


jirb berbunyi `~/.irbrc' apabila ia dipanggil. Jika `~/.irbrb' tak wujud jirb cuba baca masuk
susunan `.irbrc', `irb.rc', `_irbrc' kemudian `$irbrc'. Berikut adalah alternatif kepada
pilihan baris arahan. Untuk menggunakannya taip seperti berikut dalam sesi jirb.

IRB.conf[:IRB_NAME]="irb"
IRB.conf[:MATH_MODE]=salah
IRB.conf[:USE_TRACER]=false
IRB.conf[:USE_LOADER]=false
IRB.conf[:IGNORE_SIGINT]=benar
IRB.conf[:IGNORE_EOF]=false
IRB.conf[:INSPECT_MODE]=tiada
IRB.conf[:IRB_RC] = tiada
IRB.conf[:BACK_TRACE_LIMIT]=16
IRB.conf[:USE_LOADER] = palsu
IRB.conf[:USE_READLINE] = tiada
IRB.conf[:USE_TRACER] = palsu
IRB.conf[:IGNORE_SIGINT] = benar
IRB.conf[:IGNORE_EOF] = palsu
IRB.conf[:PROMPT_MODE] = :DEFALUT
IRB.conf[:PROMPT] = {...}
IRB.conf[:DEBUG_LEVEL]=0
IRB.conf[:VERBOSE]=benar

Menyesuaikan segera


Untuk mengkostomisasi gesaan anda menetapkan pembolehubah

IRB.conf[:PROMPT]

Sebagai contoh, huraikan seperti berikut dalam `.irbrc'.

IRB.conf[:PROMPT][:MY_PROMPT] = { # nama mod gesaan
:PROMPT_I => tiada, # gesaan biasa
:PROMPT_S => tiada, # gesaan untuk rentetan yang berterusan
:PROMPT_C => tiada, # gesaan untuk penyataan berterusan
:RETURN => " ==>%s\n" # format untuk mengembalikan nilai
}

Kemudian, panggil irb dengan mod gesaan di atas dengan

$ jirb1.3 --prompt my-prompt

Atau tambahkan yang berikut dalam `.irbrc'.

IRB.conf[:PROMPT_MODE] = :MY_PROMPT

Pemalar PROMPT_I, PROMPT_S dan PROMPT_C menentukan format. Dalam gesaan
spesifikasi, beberapa rentetan khas tersedia.

%N nama arahan yang sedang berjalan
%m hingga_s objek utama (diri)
%M memeriksa objek utama (diri)
%l jenis rentetan(", ', /, ]), `]' ialah dalam %w[...]
%NNi tahap inden. NN ialah degit dan bermakna sama seperti printf("%NNd").
Ia boleh ditinggalkan
%NNn nombor baris.
%% %
Sebagai contoh, mod gesaan lalai ditakrifkan seperti berikut:
IRB.conf[:PROMPT_MODE][:DEFAULT] = {

PROMPT_I => "%N(%m):%03n:%i> ",

PROMPT_S => "%N(%m):%03n:%i%l ",

PROMPT_C => "%N(%m):%03n:%i* ",

PULANG BALIK => "%s\n"}
RETURN digunakan untuk mencetakf.

Mengkonfigurasi pinggir bandar


Pilihan baris arahan atau IRB.conf menentukan tingkah laku lalai (sub)irb. Pada yang lain
tangan, setiap conf dalam bahagian seterusnya `6. Perintah' digunakan untuk mengkonfigurasi secara individu
(sub)irb. Jika proc ditetapkan kepada IRB.conf[:IRB_RC], subirbnya akan digunakan selepas pelaksanaan
proc itu di bawah memberikan konteks irb sebagai alasannya. Dengan mekanisme ini masing-masing
subirb boleh dikonfigurasikan.

Perintah


Untuk arahan irb, kedua-dua nama ringkas dan nama awalan `irb_' disediakan.

keluar, berhenti, irb_exit
Berhenti (sub)irb. jika anda telah melakukan cb (lihat di bawah), keluar dari mod mengikat.

conf, irb_context
Memaparkan konfigurasi semasa. Mengubah suai konfigurasi dicapai dengan menghantar
mesej kepada `conf'.

conf.back_trace_limit
Menetapkan garisan paparan belakang sebagai n atas dan ekor n. Nilai lalai ialah 16.

conf.debug_level = N
Menetapkan tahap nyahpepijat irb.

conf.ignore_eof = betul salah
Sama ada ^D (control-d) akan diabaikan atau tidak. Jika false ditetapkan, ^D bermakna berhenti.

conf.ignore_signint= betul salah
Sama ada ^C (control-c) akan diabaikan atau tidak. Jika false ditetapkan, ^D bermakna berhenti. Jika
benar,
semasa input: batalkan input kemudian kembali ke peringkat atas.
semasa melaksanakan: meninggalkan pelaksanaan semasa.

conf.inf_ruby_mode = betul salah
Sama ada inf-ruby-mode atau tidak. Nilai lalai adalah palsu.

conf.inspect_mode = benar/salah/tiada
Menentukan mod pemeriksaan. true: display inspect false: display to_s nil: inspect
mod dalam mod bukan matematik,
mod tidak memeriksa dalam mod matematik.

conf.irb_level
Tahap cb.

conf.math_mode
Sama ada mod bc atau tidak.

conf.use_loader = betul salah
Sama ada kaedah pembaca fail irb sendiri digunakan apabila memuatkan/memerlukan atau tidak. Mod ini
terjejas secara global (irb luas).

conf.prompt_c
gesaan untuk pernyataan berterusan (cth, sejurus selepas `jika')

conf.prompt_i
gesaan standard

conf.prompt_s
gesaan untuk rentetan yang berterusan

conf.rc
Sama ada ~/.irbrc dibaca atau tidak.

conf.use_prompt = betul salah
Mendorong atau tidak.

conf.use_readline = benar/salah/tiada
Sama ada readline digunakan atau tidak. benar: menggunakan palsu: tidak menggunakan nil: berniat untuk menggunakan
readline kecuali untuk inf-reuby-mode (lalai)

conf.verbose=T/F
Sama ada mesej verbose dipaparkan atau tidak.

cb, irb_change_binding [obj]
Masukkan pengikatan baharu yang mempunyai skop pembolehubah tempatan yang berbeza. Jika obj diberikan,
obj akan menjadi diri sendiri.

irb [obj]
Ajak subirb. Jika obj diberi, obj akan menjadi diri sendiri.

pekerjaan, irb_jobs
Senarai kawasan pinggir bandar

fg n, irb_fg n
Beralih ke subbirb yang ditentukan. Berikut adalah calon n:
nombor irb
benang
objek irb
diri (obj yang dinyatakan daripada irb obj)

membunuh n, irb_kill n
Bunuh pinggir bandar. Cara n adalah sama seperti kes irb_fg.

sistem berubah-ubah


_ Nilai penilaian terkini (ia adalah tempatan)

Sesi Contoh


$ jirb1.3
irb(utama):001:0> irb # panggil subirb
irb#1(utama):001:0> pekerjaan # senarai pinggir bandar
#0->irb pada utama (# : berhenti)
#1->irb#1 pada utama (# : berlari)
tiada
irb#1(utama):002:0> fg 0 # tukar kerja
tiada
irb(utama):002:0> kelas Foo;tamat
tiada
irb(utama):003:0> irb Foo # invoke subirb yang mempunyai
# konteks Foo
irb#2(Foo):001:0> def foo # takrifkan Foo#foo
irb#2(Foo):002:1> cetak 1
irb#2(Foo):003:1> tamat
tiada
irb#2(Foo):004:0> fg 0 # tukar kerja
tiada
irb(utama):004:0> pekerjaan # senarai pekerjaan
#0->irb pada utama (# : berlari)
#1->irb#1 pada utama (# : berhenti)
#2->irb#2 pada Foo (# : berhenti)
tiada
irb(utama):005:0> Foo.instance_methods # Foo#foo ditakrifkan dengan pasti
["foo"]
irb(utama):006:0> fg 2 # tukar kerja
tiada
irb#2(Foo):005:0> def bar # tentukan Foo#bar
irb#2(Foo):006:1> cetak "bar"
irb#2(Foo):007:1> tamat
tiada
irb#2(Foo):010:0> Foo.instance_methods
["bar", "foo"]
irb#2(Foo):011:0> fg 0
tiada
irb(utama):007:0> f = Foo.baru
#
irb(utama):008:0> irb f # invoke subirb yang mempunyai
# konteks f (contoh Foo)
irb#3(#<Foo:0x4010af3c>):001:0> jobs
#0->irb pada utama (# : berhenti)
#1->irb#1 pada utama (# : berhenti)
#2->irb#2 pada Foo (# : berhenti)
#3->irb#3 pada # (# : berlari)
tiada
irb#3(# ):0:4010> foo # menilai f.foo
1nil
irb#3(# ):0:4010> bar # nilai f.bar
barnil
irb#3(# ):0:4010> bunuh 3, 004, 0# kerja bunuh
tiada
irb(utama):009:0> pekerjaan
#0->irb pada utama (# : berlari)
tiada
irb(utama):010:0> keluar # keluar

sekatan


Kerana irb menilai input serta-merta selepas imput selesai secara sintaksis,
irb memberikan hasil yang berbeza sedikit daripada penggunaan terus ruby. Perbezaan yang diketahui ditunjukkan
di sini.

Pengisytiharan of yang tempatan berubah-ubah


Perkara berikut menyebabkan ralat dalam ruby:

eval "foo = 0"
foo
--
-:2: pembolehubah tempatan tidak ditentukan atau kaedah `foo' untuk # (NameError)
---
NameError

Padahal, perkara di atas akan berjaya dilakukan oleh irb.

>> eval "foo = 0"
=> 0
>> foo
=> 0

Ruby menilai kod selepas membaca keseluruhan kod dan penentuan skop tempatan
pembolehubah. Sebaliknya, irb lakukan serta-merta. Lebih tepat lagi, irb menilai pada mulanya

evel "foo = 0"

maka foo ditakrifkan pada masa ini. Ia adalah kerana ketidakserasian ini. Jika anda mahu
untuk mengesan perbezaan tersebut, mula...akhir boleh digunakan:

>> mulakan
?> eval "foo = 0"
>> foo
>> tamat
NameError: pembolehubah tempatan tidak ditentukan atau kaedah `foo' untuk #
(irb):3
(irb_local_binding):1:dalam `eval'

Di sini-dokumen


Pelaksanaan Here-document tidak lengkap.

Simbol


Irb tidak selalu dapat mengenali simbol sebagai Simbol. Secara konkrit, ungkapan mempunyai
selesai, walau bagaimanapun Irb menganggapnya sebagai garis kesinambungan.

April 2007 JIRB1.3(1)

Gunakan jirb dalam talian menggunakan perkhidmatan onworks.net



Program dalam talian Linux & Windows terkini