Paket yang merupakan pelabuhan Kara Swisseducs (halaman dalam bahasa Jerman). Kara adalah konsep untuk akses mudah ke dunia pemrograman. Kara adalah ladybug kecil yang tinggal di hutan dengan jamur, pohon, dan daun. Kara dapat memindahkan satu jamur tunggal, menempatkan dan menghilangkan daun, tidak dapat menggerakkan pohon dan sepenuhnya dikendalikan menggunakan kode Julia. Dibandingkan dengan kara asli interaksi yang fokus Manly untuk menggunakan repl.
Instal di dalam Julia di pkg-mode menggunakan
add JuliaKaraatau di Julia 0,6 dalam Mode Rept menggunakan
Pkg . add ( " JuliaKara " ) Mulailah menggunakan Juliakara dengan membuka Julia dan masuk using JuliaKara ke dalam repl. Selanjutnya buat dunia baru ukuran 10x10 dengan binding fungsi dalam ruang lingkup global dengan memasukkan @World (10,10) .
Anda sekarang dapat menggunakan
move(kara) untuk membuat langkah ke arah yang dihadapi Kara,turnLeft(kara) untuk belok kiri kara,turnRight(kara) untuk memutar kara kanan,putLeaf(kara) untuk menempatkan daun di bawah kara danremoveLeaf(kara) untuk menghilangkan daun dari bawah karaDan
treeFront(kara) untuk memeriksa apakah Kara berdiri di depan pohon,treeLeft(kara) untuk memeriksa apakah ada pohon yang tersisa dari Kara,treeRight(kara) untuk memeriksa apakah ada pohon hak Kara,onLeaf(kara) untuk memeriksa apakah ada daun di bawah kara danmushroomFront(kara) untuk memeriksa apakah Kara berdiri di depan jamur. Juliakara menyadari sintaks XML yang digunakan Kara asli untuk menyimpan dunia dalam file. Dimungkinkan untuk memuat dunia melalui GUI atau dengan perintah @World [path] . Berbeda dengan versi GUI @World [path] membuka jendela baru dan mendaftar world dan kara dalam ruang lingkup global sebagai referensi.
@World " file1.world "
move (kara) # moves Kara in world from file1.world
@World " file2.world "
# kara and world referencing elements from file1.world
# are now overwritten with references to elements from file2.world
move (kara) # moves Kara in world from file2.world
# Create additional references to world and kara
world_save = world
kara_save = kara
@World " file3.world "
# kara and world referencing elements from file2.world
# are now overwritten with references to elements from file3.world
move (kara) # moves Kara in world from file3.world
# Access stored references
move (world_save,kara_save) # moves Kara in world from file2.worldJika seseorang memuat dunia melalui GUI dan menginginkan perilaku di atas, referensi untuk Kara harus dipulihkan oleh:
kara = get_kara (world) Juliakara mendukung banyak dunia dan banyak Karas. Jika Anda ingin mereproduksi contoh, jalankan dari dalam direktori tes Juliakara Eg ~/.Julia/v0.6/JuliaKara/test .
# Load the world contained in example.world.
# This also creates a macro @w1 in global scope to interact with
# the world
@World w1 " example.world "
# Create an empty world w2
@World w2 ( 10 , 2 )
# Place kara in the empty world.
# place_kara() returns a reference to the placed kara.
# @w2 place_kara(1,1) is just syntactic sugar for place_kara(w2,1,1)
kara = @w2 place_kara ( 1 , 1 )
# Kara is already placed in world w1, therefore we fetch it with get_kara()
# Since we can't create two kara references we use lara instead.
lara = @w1 get_kara ()
# Move lara a step in world w1
@w1 move (lara)
# Alternatively:
move (w1,lara)
# Move kara a step in world w2
@w2 move (kara)
# It's even possible to allow kara from world w2 to
# place something in world w1
@w1 putLeaf (kara)
reset!(world) : Mengatur ulang world ke negara setelah pemuatan atau panggilan terakhir untuk store!(world) .store!(world) : Menyimpan keadaan world saat ini.place_kara(world,X,Y,orientation) : tempat -tempat kara di world di X , Y orientation yang berorientasi. Orientasi yang valid adalah :NORTH , :EAST , :SOUTH dan :WEST . orientation opsional dan default ke :NORTH .place_mushroom(world,X,Y) : menempatkan jamur di world di X , Y .place_tree(world,X,Y) : menempatkan pohon di world di X , Y .place_leaf(world,X,Y) : menempatkan daun di world di X , Y . Makro yang digunakan di atas untuk interaksi mis. @w1 pada dasarnya menerjemahkan @w1 f(args...) ke f(w1,args...) . Jadi karena semua metode di atas memiliki world sebagai argumen pertama mereka, mereka juga dapat disebut menggunakan makro dunia. Ini juga berfungsi untuk metode khusus:
function turnAround (wo,ka)
turnLeft (wo,ka)
turnLeft (wo,ka)
end
@w1 turnAround (lara)Halaman contoh untuk Juliakara berisi materi lebih lanjut yang menunjukkan penggunaan Juliakara.