Biến mảng trong AutoHotkey

Hướng dẫn chi tiết biến mảng trong AutoHotkey

  1. Biến mảng là gì ?
  2. Phân loại mảng trong AutoHotkey
  3. Các hàm xử lý mảng phổ biến
  4. Mảng lồng nhau (2 chiều)
  5. Tạo mảng từ chuỗi: StrSplit()
  6. So sánh mảng và biến thường

1. Biến mảng là gì ?

Một mảng là biến lưu nhiều giá trị cùng lúc, được truy cập bằng chỉ số hoặc tên khóa. Trong AutoHotkey v1.1+ (và v2), mảng thực chất là Object – tức là bảng lưu trữ kiểu key-value (khóa và giá trị).

2. Phân loại mảng trong AutoHotkey

Mảng dạng danh sách (Array thường)

Các phần tử có chỉ số tăng dần từ 1
Dùng dấu [] để truy cập

colors := ["Đỏ", "Xanh", "Vàng"]
MsgBox % colors[1]  ; Kết quả: Đỏ

Mảng đối tượng (Object key-value)

Có thể dùng tên làm khóa (giống Dictionary)

person := {}
person["ten"] := "An"
person["tuoi"] := 25
MsgBox % person["ten"]  ; Kết quả: An

3. Các hàm xử lý mảng phổ biến

Tên hàm Chức năng Ví dụ
.Push(x) Thêm phần tử vào cuối mảng arr.Push("Táo")
.Pop() Lấy và xóa phần tử cuối cuoi := arr.Pop()
.RemoveAt(i) Xóa phần tử tại vị trí i arr.RemoveAt(2)
.Length() Trả về số phần tử trong mảng arr.Length()
.InsertAt(i,x) Chèn phần tử x vào vị trí i arr.InsertAt(1, "Đầu")
for k, v in arr Duyệt mảng for i,v in arr { MsgBox % v }

4. Mảng lồng nhau (2 chiều)

Là mảng chứa mảng con bên trong.

a := [["A1", "A2"], ["B1", "B2"]]
MsgBox % a[2][1]  ; B1

5. Tạo mảng từ chuỗi: StrSplit()

chuoi := "cam,quyt,mit"
arr := StrSplit(chuoi, ",")
MsgBox % arr[2]  ; quyt

6. So sánh mảng và biến thường

Biến thường Mảng (Array)
Lưu 1 giá trị Lưu nhiều giá trị
ten := "An" ten := ["An", "Bình", "Cường"]
Không duyệt được Có thể dùng vòng lặp để duyệt

📝 Ghi nhớ:

AutoHotkey không có từ khóa Array như các ngôn ngữ khác – bạn chỉ cần dùng [...] hoặc {} để tạo.
Mảng dạng danh sách là []
Mảng dạng key-value là {}

 

Tìm kiếm:

Hướng dẫn chi tiết biến mảng trong AutoHotkey