Hal utama di Julia 1.11 – Beragampengetahuan
Oleh: Blog Bogumił Kamiński
Diposting ulang dari:
Ini adalah postingan blog terakhir saya dengan pratinjau rilis Julia 1.11 mendatang.
Fungsionalitas yang ingin saya bahas hari ini adalah opsi yang menentukan titik masuk untuk skrip Julia.
Kode telah diuji pada Julia 1.11 RC1.
Secara tradisional, saat menulis skrip Julia, Anda berasumsi bahwa saat Anda menjalankannya julia some_script.jl meminta.
Dalam hal ini Julia membuat serial konten some_script.jl mengajukan dan mengakhiri.
Ketika saya menulis kode Julia yang dieksekusi dengan cara ini, pendekatan khas saya adalah selalu merangkum semua kode yang dieksekusi dalam fungsi.
Dengan cara ini kita dapat menghindari banyak masalah yang muncul ketika menulis kode yang dieksekusi dalam lingkup global, termasuk beberapa masalah umum:
- ruang lingkup variabel (tidak perlu dipikirkan
globalkata kunci); - kinerja (kode di dalam fungsi yang dikompilasi harus sangat cepat);
- secara tidak sengaja menggunakan nama yang sama untuk objek berbeda dalam kode spageti dengan cakupan global (saya rasa semua orang memiliki masalah ini);
- Polusi memori RAM (objek besar dengan asosiasi cakupan global tetap ada, dan mudah untuk lupa memutuskan tautannya untuk memungkinkan pengumpulan sampah).
Jadi struktur khas kode saya adalah:
...
some definitions of data structures and code inside functions
...
function main(ARGS)
...
the operations I want to have executed by the script
...
end
main(ARGS)
Gaya ini wajar bagi programmer yang akrab dengan bahasa seperti C, di antaranya main fungsi adalah titik masuk.
Julia 1.11 menambahkan opsi untuk markup main bertindak sebagai titik masuk. Ini memastikan hal itu main(ARGS) dipanggil setelah eksekusi skrip.
Cukup mudah untuk ditandai main bertindak sebagai titik masuk. Menggantinya saja sudah cukup main(ARGS) dengan (@main)(ARGS) dalam contoh saya di atas.
Oleh karena itu, mulai dari Julia 1.11, saya dapat menulis skrip saya sebagai:
...
some definitions of data structures and code inside functions
...
function (@main)(ARGS)
...
the operations I want to have executed by the script
...
end
Menurut saya, perubahan yang terkesan kecil ini penting karena menjadi standar gaya penulisan naskah Julia.
Dan standardisasi semacam itu adalah fitur bagus yang meningkatkan keterbacaan dan pemeliharaan kode.
Selain itu, fitur ini membantu menyatukan alur kerja interaktif dan penulisan saat menggunakan Julia.
Izinkan saya menyajikan contoh kerja minimal dalam menulis skrip menggunakan @main makro:
$ julia -e "using InteractiveUtils; (@main)(args) = versioninfo()"
Julia Version 1.11.0-rc1
Commit 3a35aec36d (2024-06-25 10:23 UTC)
Build Info:
Official release
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: 12 × 12th Gen Intel(R) Core(TM) i7-1250U
WORD_SIZE: 64
LLVM: libLLVM-16.0.6 (ORCJIT, alderlake)
Threads: 1 default, 0 interactive, 1 GC (on 12 virtual cores)
$
Dalam contoh ini kami menelepon versioninfo fungsi dalaman main(args) fungsi didefinisikan menggunakan @main makro.
Perhatikan bahwa kita tidak perlu menyebutnya secara eksplisit main fungsi dalam kode. Dipanggil secara otomatis karena sudah
dibuat menggunakan @main makro.
Sekarang saya harap Anda tahu apa @main Apa itu makro dan bagaimana cara menggunakannya di Julia 1.11. Nikmati skenarionya bersama Julia!
Contents
Terkait
Software Terbaru Saat Ini
Aplikasi yang sedang trend saat ini
object oriented programming, programming language, programming adalah, web programming, belajar programming, tournament software, software, software adalah, contoh software, apa itu software, pengertian software, aplikasi, aplikasi penghasil uang, aplikasi bokep, aplikasi video, programming
#Hal #utama #Julia