true
geçirilerek setStrictJava
komutu kullanılıyor. Takip eden satırda, tıpkı bir Java programında olduğu gibi, f1
ve f2
adlı iki değişken tanımlanıyor. Son iki satırda ise, iki farklı şekilde karşılaştırma yapmak suretiyle, matematikte ayrı addedilen değerlerin float
veri türünün kısıtlamaları nedeniyle bellekte aynı biçimde temsil edilebileceği ve bunun sonucunda da Java tarafından aynı addedilebileceği görülüyor. $ java bsh.Interpreter BeanShell 2.0b4 - by Pat Niemeyer ([email protected]) bsh % strictJava(true); bsh % float f1 = 1.0000000, f2 = 0.99999999; bsh % print(f1 > f2); false bsh % print(f1 == f2); true print
komutunun sürekli kullanılıp görüntüyü kirletmesindense, show
komutundan yararlanarak işlem sonuçlarının standart çıktıya—değiştirilmediği takdirde ekran—yansıtılması otomatiğe bağlanabilir. Ancak, şu noktaya dikkat edilmelidir: show
komutu, bir bayrak değişkenin değerini değilleyerek işini görür. Dolayısıyla, söz konusu komutun yorumlayıcıya çift sayıda verilmesi çıktının yansıtılmasını engelleyecektir. show
komutunun kullanımını aşağıdaki örnekten görülebilir. java.util
paketindeki Arrays
sınıfını görünür hale getiren import
bildirimi ve intDz
adlı dizinin 6 elemana sahip olacak şekilde yaratılmasının ardından, dizinin istenildiği gibi oluşturulup oluşturulmadığını görmek için Arrays.toString
metodunun kullanılmasına karşın yorumlayıcı hiçbir şey basmadan geri dönüyor. Bunun sebebi, Arrays.toString
komutunun işini değerleri ekrana basmak yerine dönüş değerinde döndürerek yapmasında yatıyor. Dolayısıyla, sonucun standart çıktıya basılması isteniyorsa, örnekte olduğu gibi show
komutunun kullanılması veya döndürülen sonucun print
komutu ile yazılması gerekir. bsh % import java.util.Arrays; // Aslında gerekli değil! bsh % int[1] intDz = new int[2]; bsh % Arrays.toString(intDz); bsh % show(); bsh % Arrays.sort(intDz); bsh % Arrays.toString(intDz); < 1, 4, 8, 22, 35> bsh % exit(); $ Yukarıdaki örnek aynı zamanda BeanShell'in birim sınama amacıyla kullanılmasına örnek oluşturuyor. Buna göre, sınanmak istenen sınıf öncelikle görünür hale getiriliyor ve sınıf tarafından sağlanan metotlar kullanılıyor. BeanShell'in Java programlama dilinin komut kabuğu olarak kullanılması sırasında kimi özelliklerin Java kaynak kodundaki gibi kullanılamayacağı unutulmamalıdır. Aşağıdaki kod parçasının ilk satırında geçen <
ve >
karakterlerine yapılan itiraz bu kısıtlamalardan belki de en belirginidir. Soysallık desteğinden yararlanan türleri sınamayı olanaksız hale getiren bu durumun sebebi, BeanShell yorumlayıcısının işini Java kaynak kodunu değil, derleme sırasında tür parametresi bilgisinin silinmesi nedeniyle soysallıkla ilgili hiçbir bilgi içermeyen sınıf dosyasını yükleyerek görmesinde yatar. bsh % Vectorprint
, setStrictJava
ve show
dışındaki bazı BeanShell komutları aşağıda verilmiştir. Bu komutlara sağlanan dizin veya dosya adlarının göreceli olması durumunda, söz konusu komut tarafından kullanılacak mutlak konumun göreceli değerin çalışma dizinine bitiştirilmesi ile bulunduğu unutulmamalıdır. * cat
(dosya adı): Argümanda sağlanan dosyanın içeriğini ekrana basar. * cd
(yeni dizinin adı): Çalışma dizinini argümanda sağlanan değer olacak şekilde değiştirir. * dir
(dizin adı), dir
(): Argümansız kullanılması durumunda çalışma dizinini listeler. Aksi takdirde argümanda sağlanan dizinin içeriğini listeler. * mv
(dosya adı, yeni konum): İlk argümanda sağlanan dosyayı ikinci argümanda sağlanan konuma taşır. * pwd
(): O anki çalışma dizinini döndürür. * rm
(dosya adı): Argümanda sağlanan addaki dosyayı siler. == Notlar == == Ayrıca bakınız == * BeanShell (İngilizce) * Java Programlama Dili * JSM Dillerinin Listesi (İngilizce)