Python chuyển sang ansi
Hướng dẫn sử dụng cho bản phát hành mới nhất có tại https. //picocli. thông tin. Dành cho người bận rộn và thiếu kiên nhẫn. cũng có Hướng dẫn nhanh Show
1. Giới thiệuPicocli nhằm mục đích trở thành cách dễ dàng nhất để tạo các ứng dụng dòng lệnh phong phú có thể chạy trên và ngoài JVM. Xem xét picocli? 1. 1. Tổng quanPicocli là một khung một tệp để tạo các ứng dụng dòng lệnh Java với mã gần như bằng không. Nó hỗ trợ nhiều kiểu cú pháp dòng lệnh bao gồm POSIX, GNU, MS-DOS, v.v. Nó tạo ra các thông báo trợ giúp sử dụng có thể tùy chỉnh cao sử dụng để tương phản các yếu tố quan trọng và giảm tải nhận thức cho người dùng Các ứng dụng dựa trên Picocli có thể hoàn thành TAB dòng lệnh hiển thị các tùy chọn, tham số tùy chọn và lệnh con có sẵn, cho bất kỳ cấp độ nào của các lệnh con lồng nhau. Các ứng dụng dựa trên Picocli có thể được biên dịch trước thành , với thời gian khởi động cực nhanh và yêu cầu bộ nhớ thấp hơn, có thể được phân phối dưới dạng một tệp thực thi duy nhất. Picocli cho ứng dụng của bạn (trang người đàn ông HTML, PDF và Unix) Thông báo trợ giúp sử dụng ví dụ với màu sắc và kiểu dáng ANSI Một đặc điểm nổi bật khác của picocli là cách nó nhằm mục đích cho phép người dùng chạy các ứng dụng dựa trên picocli mà không yêu cầu picocli làm phụ thuộc bên ngoài. tất cả mã nguồn nằm trong một tệp duy nhất, để khuyến khích các tác giả ứng dụng đưa nó vào dạng nguồn Picocli giúp bạn dễ dàng theo dõi Làm thế nào nó hoạt động. chú thích lớp của bạn và picocli khởi tạo nó từ các đối số dòng lệnh, chuyển đổi đầu vào thành các giá trị được gõ mạnh trong các trường của lớp của bạn Picocli cũng cung cấp một , tách biệt với API chú thích 1. 2. ứng dụng ví dụVí dụ dưới đây cho thấy một ứng dụng dòng lệnh 93 dựa trên picocli ngắn nhưng đầy đủ chức năngJava
hấp dẫn
kịch bản Groovy
Kotlin
Scala
Bạn có thể chạy ví dụ này trực tuyến. Hãy dùng thử mà không có đối số, với tùy chọn như 94 hoặc 95 hoặc với tên tệp như 96 làm đối số dòng lệnhTriển khai 97 hoặc 98 và lệnh của bạn có thể nằm trong một dòng mã. Phương thức 99 ví dụ gọi 200 để phân tích cú pháp dòng lệnh, xử lý lỗi, xử lý các yêu cầu trợ giúp về cách sử dụng và phiên bản cũng như gọi logic nghiệp vụ. Các ứng dụng có thể gọi 201 với mã thoát được trả về để báo hiệu thành công hay thất bại cho người gọi của họThuộc tính thêm các tùy chọn 94 và 95 vào ứng dụng của bạnHướng dẫn nhanh picocli hiển thị khác và giải thích chúng chi tiết hơn Mô-đun ví dụ picocli trong kho git picocli có nhiều ví dụ khác 2. Bắt đầuBạn có thể thêm picocli làm phụ thuộc bên ngoài vào dự án của mình hoặc bạn có thể đưa nó làm nguồn 2. 1. Thêm dưới dạng phụ thuộc bên ngoàiDưới đây là các ví dụ về cách định cấu hình Gradle hoặc Maven để sử dụng picocli làm phần phụ thuộc bên ngoài trong dự án của bạn lớp 6maven
2. 2. Thêm làm NguồnĐể đưa vào làm nguồn, hãy lấy mã nguồn từ tệp GitHub. Sao chép và dán nó vào một tệp có tên 204, thêm nó vào dự án của bạn và tận hưởng2. 3. Bộ xử lý chú thíchMô-đun 205 bao gồm bộ xử lý chú thích có thể xây dựng mô hình từ các chú thích picocli tại thời điểm biên dịch thay vì thời gian chạyKích hoạt bộ xử lý chú thích này trong dự án của bạn là tùy chọn, nhưng rất khuyến khích. Sử dụng cái này nếu bạn quan tâm đến
2. 3. 1. tùy chọn bộ xử lý. import picocli.CommandLine;
import picocli.CommandLine.Command;
import picocli.CommandLine.Option;
import picocli.CommandLine.Parameters;
import java.io.File;
import java.math.BigInteger;
import java.nio.file.Files;
import java.security.MessageDigest;
import java.util.concurrent.Callable;
@Command(name = "checksum", mixinStandardHelpOptions = true, version = "checksum 4.0",
description = "Prints the checksum (SHA-256 by default) of a file to STDOUT.")
class CheckSum implements Callable<Integer> {
@Parameters(index = "0", description = "The file whose checksum to calculate.")
private File file;
@Option(names = {"-a", "--algorithm"}, description = "MD5, SHA-1, SHA-256, ...")
private String algorithm = "SHA-256";
@Override
public Integer call() throws Exception { // your business logic goes here...
byte[] fileContents = Files.readAllBytes(file.toPath());
byte[] digest = MessageDigest.getInstance(algorithm).digest(fileContents);
System.out.printf("%0" + (digest.length*2) + "x%n", new BigInteger(1, digest));
return 0;
}
// this example implements Callable, so parsing, error handling and handling user
// requests for usage help or version help can be done with one line of code.
public static void main(String... args) {
int exitCode = new CommandLine(new CheckSum()).execute(args);
System.exit(exitCode);
}
} |