Ana içeriğe geç

`deno repl`, etkileşimli betik istemcisi

Özel değişkenler

REPL, her zaman mevcut olan birkaç özel değişken sağlar:

KimlikAçıklama
_Son değerlendirilmiş ifadeyi verir
_errorSon atılan hatayı verir
Deno 1.14.3
çikişi ctrl+d veya close() ile
> "hello world!"
"hello world!"
> _
"hello world!"
> const foo = "bar";
undefined
> _
undefined

Özel işlevler

REPL, global kapsamda birkaç işlev sağlar:

İşlevAçıklama
clear()Tüm terminal ekranını temizler
close()Mevcut REPL oturumunu kapatır

--eval bayrağı

--eval bayrağı, REPL'ye düşmeden önce bazı kodları çalıştırmanıza olanak tanır. Bu, REPL'de sıkça kullandığınız bazı kodları içe aktarmak veya çalışma zamanını bir şekilde değiştirmek için yararlıdır:

$ deno repl --allow-net --eval 'import { assert } from "jsr:@std/assert@1"'
Deno 1.45.3
çikişi ctrl+d, ctrl+c veya close() ile
> assert(true)
undefined
> assert(false)
Uncaught AssertionError
at assert (https://jsr.io/@std/assert/1.0.0/assert.ts:21:11)
at <anonymous>:1:22

--eval-file bayrağı

--eval-file bayrağı, REPL'ye düşmeden önce belirli dosyalardan kod çalıştırmanıza olanak tanır. --eval bayrağına benzer şekilde, bu da REPL'de sıkça kullandığınız kodları içe aktarmak veya çalışma zamanını bir şekilde değiştirmek için yararlıdır.

Dosyalar, yollar veya URL'ler olarak belirtilebilir. URL dosyaları önbelleğe alınır ve --reload bayrağı ile yeniden yüklenebilir.

Eğer --eval da belirtilmişse, --eval-file dosyaları --eval kodundan önce çalıştırılır.

$ deno repl --eval-file=https://docs.deno.com/examples/welcome.ts,https://docs.deno.com/examples/local.ts
İndiriliyor https://docs.deno.com/examples/welcome.ts
Deno'ya hoş geldiniz!
İndiriliyor https://docs.deno.com/examples/local.ts
Deno 1.45.3
çikişi ctrl+d veya close() ile
> local // bu değişken local.ts içinde yerel olarak tanımlıdır, ancak dışa aktarılmamıştır
"This is a local variable inside of local.ts"

Göreli İçe Aktarma Yolu Çözümü

Eğer --eval-file, göreli içe aktarımlar içeren bir kod dosyasını belirtirse, çalışma zamanı, içe aktarımları mevcut çalışma dizinine göre çözmeye çalışacaktır. Kod dosyasının konumuna göre çözmeye çalışmayacaktır. Bu, "Modül bulunamadı" hatalarına neden olabilir:

$ deno repl --eval-file=https://jsr.io/@std/encoding/1.0.0/ascii85.ts
--eval-file dosyasında hata https://jsr.io/@std/encoding/1.0.0/ascii85.ts. Uncaught TypeError: Modül bulunamadı "file:///home/_validate_binary_like.ts".
at async <anonymous>:2:13
Deno 1.45.3
çikişi ctrl+d veya close() ile
>

Sekme Tamamlama

Sekme tamamlama, REPL'de hızlı gezinmek için önemli bir özelliktir. tab tuşuna bastıktan sonra, Deno artık tüm olası tamamlamaların bir listesini gösterecektir.

$ deno repl
Deno 1.45.3
çikişi ctrl+d veya close() ile
> Deno.read
readTextFile readFile readDirSync readLinkSync readAll read
readTextFileSync readFileSync readDir readLink readAllSync readSync

Klavye Kestirmeleri

Tuş VuruşuEylem
Ctrl-A, Homeİmleci satırın başına taşı
Ctrl-B, Solİmleci bir karakter sola hareket ettir
Ctrl-CMevcut düzenlemeyi kes ve iptal et
Ctrl-DEğer satır boşsa, satır sonunu belirt
Ctrl-D, DelEğer satır boş değilse, imlecin altındaki karakteri sil
Ctrl-E, Sonİmleci satırın sonuna taşı
Ctrl-F, Sağİmleci bir karakter sağa hareket ettir
Ctrl-H, Geri Tuşuİmlecin önündeki karakteri sil
Ctrl-I, TabSonraki tamamlama
Ctrl-J, Ctrl-M, EnterSatır girişini bitir
Ctrl-Kİmleceden satır sonuna kadar sil
Ctrl-LEkranı temizle
Ctrl-N, AşağıGeçmişten sonraki eşleşme
Ctrl-P, YukarıGeçmişten önceki eşleşme
Ctrl-RTers Arama geçmişi (Ctrl-S ileri, Ctrl-G iptal)
Ctrl-TÖnceki karakteri mevcut karakter ile değiştir
Ctrl-Uİmlece kadar satırın başından sil
Ctrl-VHerhangi bir özel karakteri ekler, ilişkilendirilmiş eylemi gerçekleştirmeden
Ctrl-Wİmlece kadar kelimeyi sil (boşlukları kelime sınırı olarak kullanarak)
Ctrl-X Ctrl-UGeri al
Ctrl-YYanki tamponundan yapıştır
Ctrl-YYanki tamponundan yapıştır (Meta-Y ile sonraki yanka yapıştırabilirsiniz)
Ctrl-ZAskıya alma (Unix sadece)
Ctrl-_Geri al
Meta-0, 1, ..., -Argüman için sayıyı belirtin. negatif bir argüman başlatır.
Meta <Geçmişteki ilk girişe git
Meta >Geçmişteki son girişe git
Meta-B, Alt-Solİmleci önceki kelimeye taşı
Meta-Geri TuşuBu kelimenin başlangıcından ya da kelimeler arasında ise önceki kelimenin başlangıcına kadar sil
Meta-CMevcut kelimeyi büyük harfle yazar
Meta-DBir kelimeyi ileri sil
Meta-F, Alt-Sağİmleci sonraki kelimeye taşı
Meta-LSonraki kelimeyi küçük harf yap
Meta-TKelimeleri yer değiştir
Meta-USonraki kelimeyi büyük harf yap
Meta-YCtrl-Y'yi görün
Ctrl-SYeni bir satır ekle

DENO_REPL_HISTORY

DENO_REPL_HISTORY ortam değişkenini, Deno'nun REPL geçmiş dosyasını nerede saklayacağını denetlemek için kullanabilirsiniz. Boş bir değer olarak ayarlarsanız, Deno geçmiş dosyasını saklamayacaktır.