Hướng dẫn cơ bản về Mảng trong Batch Script

Xin chào các bạnfuture programmers! Hôm nay, chúng ta sẽ cùng khám phá thế giới thú vị của mảng trong lập trình Batch. Đừng lo lắng nếu bạn chưa từng viết một dòng mã trước đây - tôi sẽ là người bạn đồng hành thân thiện của bạn trong hành trình này. Cuối cùng, bạn sẽ manipulates mảng như một chuyên gia!

Batch Script - Arrays

Mảng là gì?

Trước khi chúng ta bắt đầu, hãy hiểu mảng là gì. Hãy tưởng tượng bạn có một hộp bút chì. Mỗi cây bút chì có một màu khác nhau, nhưng chúng đều được lưu trữ trong một hộp. Mảng cũng giống như vậy - nó là một容器 có thể chứa nhiều mục (gọi là phần tử) cùng loại.

Tạo một mảng

Trong lập trình Batch, việc tạo một mảng rất đơn giản. Chúng ta sử dụng lệnh set để xác định mảng. Hãy tạo một mảng chứa các loại quả!

@echo off
set fruits[0]=Apple
set fruits[1]=Banana
set fruits[2]=Cherry
set fruits[3]=Date
set fruits[4]=Elderberry

Trong ví dụ này, chúng ta đã tạo một mảng叫做 fruits với năm phần tử. Mỗi phần tử được gán một chỉ số bắt đầu từ 0.

Lời khuyên chuyên nghiệp: Luôn bắt đầu chỉ số mảng từ 0. Đây là một quy ước được tuân theo trong hầu hết các ngôn ngữ lập trình!

Truy cập mảng

Bây giờ chúng ta đã có giỏ quả (mảng), làm thế nào để chọn một quả cụ thể? Chúng ta sử dụng số chỉ mục!

@echo off
set fruits[0]=Apple
set fruits[1]=Banana
set fruits[2]=Cherry

echo The first fruit is: !fruits[0]!
echo The second fruit is: !fruits[1]!
echo The third fruit is: !fruits[2]!

Khi bạn chạy script này, bạn sẽ thấy:

The first fruit is: Apple
The second fruit is: Banana
The third fruit is: Cherry

Chú ý các dấu than (!) xung quanh tham chiếu mảng. Điều này rất quan trọng! Nó告诉 Batch sử dụng mở rộng bị trì hoãn, điều này cần thiết để truy cập phần tử mảng.

Chỉnh sửa mảng

Nếu chúng ta quyết định thay thế Banana bằng Blackberry? Không có vấn đề gì! Chúng ta có thể dễ dàng chỉnh sửa mảng:

@echo off
setlocal enabledelayedexpansion

set fruits[0]=Apple
set fruits[1]=Banana
set fruits[2]=Cherry

echo Before: The second fruit is !fruits[1]!

set fruits[1]=Blackberry

echo After: The second fruit is !fruits[1]!

Script này sẽ xuất ra:

Before: The second fruit is Banana
After: The second fruit is Blackberry

Thấy rằng dễ dàng như thế nào? Chúng ta chỉ cần thay thế phần tử thứ hai của mảng!

Lặp qua mảng

Bây giờ, nếu chúng ta muốn xem tất cả các quả trong giỏ? Chúng ta có thể sử dụng vòng lặp for để lặp qua mảng:

@echo off
setlocal enabledelayedexpansion

set fruits[0]=Apple
set fruits[1]=Blackberry
set fruits[2]=Cherry
set fruits[3]=Date
set fruits[4]=Elderberry

for /L %%i in (0,1,4) do (
echo Fruit %%i is: !fruits[%%i]!
)

Script này sẽ xuất ra:

Fruit 0 is: Apple
Fruit 1 is: Blackberry
Fruit 2 is: Cherry
Fruit 3 is: Date
Fruit 4 is: Elderberry

Đây là những gì đang xảy ra:

  • /L chỉ định vòng lặp sẽ đệm qua một phạm vi số
  • %%i là biến vòng lặp của chúng ta
  • (0,1,4) có nghĩa là bắt đầu từ 0, tăng lên 1, và dừng lại ở 4

Độ dài của mảng

Khác với một số ngôn ngữ lập trình khác, Batch không có cách内置 để lấy độ dài của mảng. Nhưng đừng lo lắng! Chúng ta có thể tạo một cách giải quyết nhỏ:

@echo off
setlocal enabledelayedexpansion

set fruits[0]=Apple
set fruits[1]=Blackberry
set fruits[2]=Cherry
set fruits[3]=Date
set fruits[4]=Elderberry

set "x=0"
:SymLoop
if defined fruits[%x%] (
set /a "x+=1"
GOTO :SymLoop
)
echo The fruits array has %x% elements.

Script này sẽ xuất ra:

The fruits array has 5 elements.

Điều chúng ta đang làm ở đây là đếm số lượng phần tử được xác định cho đến khi chúng ta gặp phần tử không xác định. Đó giống như đếm số lượng bút chì trong hộp cho đến khi bạn gặp một slot trống!

Tạo cấu trúc trong mảng

Bây giờ, hãy đi sâu hơn một chút. Chúng ta có thể sử dụng mảng để tạo các cấu trúc phức tạp hơn. Hãy tạo một "cơ sở dữ liệu" của các loại quả với màu sắc của chúng!

@echo off
setlocal enabledelayedexpansion

set "fruits[0].name=Apple"
set "fruits[0].color=Red"
set "fruits[1].name=Banana"
set "fruits[1].color=Yellow"
set "fruits[2].name=Blueberry"
set "fruits[2].color=Blue"

for /L %%i in (0,1,2) do (
echo Fruit %%i is a !fruits[%%i].color! !fruits[%%i].name!
)

Điều này sẽ xuất ra:

Fruit 0 is a Red Apple
Fruit 1 is a Yellow Banana
Fruit 2 is a Blue Blueberry

Chúng ta đã tạo một cấu trúc nơi mỗi loại quả có tên và màu sắc. Nó giống như có một hộp bút chì chi tiết hơn, nơi mỗi cây bút chì có màu và tên cụ thể!

Kết luận

Chúc mừng! Bạn đã chính thức bước vào thế giới của mảng trong lập trình Batch. Chúng ta đã covers tạo mảng, truy cập và chỉnh sửa phần tử, lặp qua mảng, tìm độ dài, và thậm chí tạo cấu trúc phức tạp hơn.

Nhớ rằng, thực hành làm nên hoàn hảo. Hãy thử tạo mảng của riêng bạn, có thể là với các cuốn sách hoặc bộ phim yêu thích của bạn. Thử nghiệm với các cách khác nhau để manipulates và hiển thị dữ liệu. Trước khi bạn biết, bạn sẽ sử dụng mảng để tổ chức và quản lý thông tin trong script của bạn!

Chúc mừng coding, và hy vọng mảng của bạn luôn đầy quả! ???

Phương pháp Mô tả
Tạo một mảng Sử dụng set arrayname[index]=value
Truy cập phần tử mảng Sử dụng !arrayname[index]! với mở rộng bị trì hoãn
Chỉnh sửa mảng Gán lại giá trị với set arrayname[index]=newvalue
Lặp qua mảng Sử dụng vòng lặp for /L
Tìm độ dài mảng Sử dụng vòng lặp để đếm phần tử được xác định
Tạo cấu trúc Sử dụng ký tự gạch chéo: arrayname[index].property=value

Credits: Image by storyset