Hệ thống kiểu dữ liệu trong Bash Infinity cung cấp tập hợp các phương thức đóng gói sẵn, giúp nhà phát triển xử lý cấu trúc dữ liệu phức tạp mà không cần viết các đoạn mã kiểm tra thủ công rườm rà. Bằng cách mô phỏng các nguyên lý hướng đối tượng, thư viện này chuẩn hóa cách thao tác với chuỗi, mảng tuần tự và từ điển khóa-giá trị, đồng thời bổ sung cơ chế bẫy lỗi đồng bộ vào môi trường shell.
Thiết lập và Nạp Mô-đun Cốt lõi
Để sử dụng các đối tượng kiểu mở rộng, hãy sao chép mã nguồn dự án và đưa các định nghĩa nguyên thủy vào kịch bản thực thi:
git clone https://github.com/niieani/bash-oo-framework.git
cd bash-oo-framework
Trong tệp kịch bản, gọi lệnh source để đăng ký các lớp cơ sở:
source ./lib/TypePrimitives/string.sh
source ./lib/TypePrimitives/array.sh
source ./lib/TypePrimitives/map.sh
Xử lý Chuỗi (String) Chuẩn hóa
Thay vì phụ thuộc vào cú pháp cắt chuỗi đặc thù của Bash, mô-đun này cung cấp các phương thức kiểm tra và biến đổi an toàn:
# Khởi tạo đối tượng văn bản
query_text="System Initialization Protocol"
# Truy xuất tổng số ký tự
char_count=$query_text.length()
echo "Length: $char_count"
# Xác thực tiền tố đầu vào
if $query_text.startsWith("System"); then
echo "Valid prefix confirmed"
fi
Thao tác với Mảng (Array)
Bên cạnh việc truy cập phần tử theo chỉ mục, mô-đun mảng hỗ trợ các phép toán tập hợp và biến đổi tuần tự trực tiếp trên đối tượng:
# Định nghĩa danh sách số
primary_ids=(101 102 103 104 105)
# Đảo ngược thứ tự
reversed_ids=$primary_ids.reverse()
echo "Inverted order: ${reversed_ids[@]}"
# Tính toán phần tử chung giữa hai tập hợp
list_alpha=(A B C D)
list_beta=(C D E F)
overlap=$list_alpha.intersect($list_beta)
echo "Common items: ${overlap[@]}"
Quản lý Bảng Ánh xạ (Map)
Cấu trúc Map được tối ưu cho việc lưu trữ cặp khóa-giá trị, phù hợp để quản lý tham số cấu hình hoặc trạng thái phiên làm việc:
# Khởi tạo từ điển
declare -A env_params
env_params.set("max_threads" "8")
env_params.set("log_path" "/var/log/app")
# Truy vấn giá trị theo khóa
threshold=$env_params.get("max_threads")
if [[ -n "$threshold" ]]; then
echo "Thread limit configured: $threshold"
fi
Cơ chế Bẫy Ngoại lệ (Try-Catch)
Hệ thống cung cấp cấu trúc xử lý lỗi đồng bộ, ngăn chặn việc kịch bản bị ngắt đột ngột khi gặp truy xuất sai phạm vi hoặc khóa không tồn tại:
try {
dataset=(x y z)
echo ${dataset[7]}
} catch {
printf "Operation failed: %s\n" "$EXCEPTION_MESSAGE"
}
Xác thực Tính năng qua Kiểm thử
Khung làm việc đi kèm bộ kiểm thử đơn vị tự động, cho phép xác minh độ ổn định của các phương thức kiểu dữ liệu sau khi tích hợp hoặc điều chỉnh mã nguồn. Thực thi lệnh sau để chạy toàn bộ ca kiểm tra:
chmod +x ./tests/run_all_type_tests.sh
./tests/run_all_type_tests.sh