Storage

Storage key/value persisten untuk makro saat ini. Variabel biasa hanya dibagikan antar-action PYTHON_CODE berurutan dalam flow yang sama, termasuk action di dalam GROUP; flow paralel memiliki variabel terisolasi. Kunci Storage dipakai bersama oleh semua flow, jadi gunakan Storage ketika nilai harus bertahan ke run makro berikutnya, bukan sebagai kanal pesan antarproses. Penulisan disimpan otomatis setelah 2 detik tanpa penulisan baru dan di-commit lagi setelah seluruh Run makro dan semua flow latar berakhir.

Sintaks

Storage

Kelas ini tidak dapat dibuat langsung.

Nilai yang dikembalikan

—

Contoh

# Simpan nilai lintas run makro yang terpisah
run_count = Storage.get("run_count", 0)
run_count = run_count + 1
Storage.set("run_count", run_count)
Storage.set("last_point", Point(500, 900))
MacroPanel.notify("Run #" + str(run_count))

Metode

8 metode

Storage.get

Baca satu nilai yang bertahan berdasarkan kunci dan secara opsional kembali ke default ketika kuncinya hilang.

Sintaks

Storage.get(key, default=None)

Parameter

NamaDeskripsi
keyAny
Key to look up.
Wajib · Posisi atau nama
Tanpa nilai bawaan
defaultAny?
Fallback value returned when the key is missing.
Opsional · Posisi atau nama
Default: None

Nilai yang dikembalikan

Any? — Nilai yang disimpan untuk kunci tersebut, atau nilai default yang diberikan.

Contoh

# Pulihkan penghitung tersimpan dengan nilai default cadangan
run_count = Storage.get("run_count", 0)

Storage.set

Tulis atau ganti satu entri di penyimpanan persisten. Nilai yang didukung mempertahankan tipe ramah skrip seperti Number, String, Boolean, Point, Region, list, tuple, dict, set, dan None, termasuk nilai koleksi yang disarangkan.

Sintaks

Storage.set(key, value)

Parameter

NamaDeskripsi
keyAny
Key to write.
Wajib · Posisi atau nama
Tanpa nilai bawaan
valueAny?
Value to persist for that key.
Wajib · Posisi atau nama
Tanpa nilai bawaan

Nilai yang dikembalikan

None — Tidak ada nilai balik langsung. Storage diperbarui langsung, disimpan otomatis setelah 2 detik tanpa penulisan baru, lalu di-commit lagi setelah seluruh Run makro dan semua flow latar berakhir.

Contoh

# Simpan nilai untuk run makro berikutnya
Storage.set("run_count", 3)
Storage.set("last_point", Point(500, 900))

Storage.remove

Hapus satu entri yang bertahan dan kembalikan nilai lama.

Sintaks

Storage.remove(key)

Parameter

NamaDeskripsi
keyAny
Key to remove.
Wajib · Posisi atau nama
Tanpa nilai bawaan

Nilai yang dikembalikan

Any? — Nilai yang dihapus, atau Tidak Ada saat kuncinya hilang.

Contoh

# Hapus flag tersimpan saat tidak diperlukan lagi
old_flag = Storage.remove("boost_enabled")

Storage.contains

Periksa apakah kunci yang ada saat ini ada.

Sintaks

Storage.contains(key)

Parameter

NamaDeskripsi
keyAny
Key to test.
Wajib · Posisi atau nama
Tanpa nilai bawaan

Nilai yang dikembalikan

Boolean — `True` bila kuncinya ada, jika tidak `False`.

Contoh

# Jalankan penjaga logika berdasarkan state tersimpan
if Storage.contains("last_point"):
    MacroPanel.notify("Saved point is ready")

Storage.keys

Dapatkan semua kunci yang disimpan sebagai daftar dalam urutan penyisipan.

Sintaks

Storage.keys()

Nilai yang dikembalikan

list — Daftar kunci yang disimpan.

Contoh

# Periksa nilai mana yang tersimpan untuk makro ini
saved_keys = Storage.keys()

Storage.values

Dapatkan semua nilai yang bertahan sebagai daftar dalam urutan penyisipan.

Sintaks

Storage.values()

Nilai yang dikembalikan

list — Daftar nilai yang bertahan.

Contoh

# Baca semua nilai tersimpan untuk pemeriksaan cepat
saved_values = Storage.values()

Storage.clear

Hapus setiap entri yang ada untuk makro saat ini.

Sintaks

Storage.clear()

Nilai yang dikembalikan

None — Tidak ada nilai pengembalian langsung. Penyimpanan menjadi kosong.

Contoh

# Reset semua nilai Storage tersimpan
Storage.clear()

Storage.to_dict

Kembalikan Storage saat ini sebagai live dict yang dipakai bersama oleh setiap flow dalam Run ini. Edit langsung pada entri dict yang dikembalikan mengikuti alur simpan otomatis, dan snapshot live terbaru di-commit setelah seluruh Run makro dan semua flow latar berakhir.

Sintaks

Storage.to_dict()

Nilai yang dikembalikan

dict — Tampilan dict langsung dari entri penyimpanan yang ada saat ini.

Contoh

# Baca dan perbarui seluruh dictionary storage tersimpan
state = Storage.to_dict()
state["bonus"] = 5
MacroPanel.notify(str(state))