2011-11-09 28 views
5

Tôi sử dụng các tùy chọn chương trình để phân tích các tùy chọn dòng lệnh trong ứng dụng của tôi.Làm cách nào để có tùy chọn bật các tùy chọn khác trong Tùy chọn chương trình tăng cường mà không sử dụng các biến?

Tôi có một số tùy chọn như -Ox, -Oy, -Oz, ... và tôi muốn có tùy chọn siêu -Có thể bật Ox và Oy và một tùy chọn khác cho phép Oz và Ow.

Có cách nào để thực hiện điều đó bằng Tùy chọn chương trình tăng cường không?

Lúc đầu, tôi muốn kiểm tra giá trị của Oall và sau đó bật Ox và Oy theo cách thủ công, nhưng không thể chỉnh sửa giá trị sau khi phân tích cú pháp.

Tôi muốn tránh sử dụng các biến để lưu trữ các giá trị của Ox, Oy, bởi vì tôi có thể có rất nhiều tùy chọn đề tài.

Cảm ơn

+0

Nếu bạn muốn tránh việc biến cho 'Ox',' oy', và 'Oz', làm thế nào thì làm bạn có kế hoạch tiếp cận các giá trị của họ? Nói cách khác, làm thế nào để bạn lập kế hoạch kích hoạt logic liên kết với các tùy chọn đó khi chúng được thiết lập riêng lẻ? – rcollyer

+0

Tôi muốn nói options.count ("Ox") –

+1

Đã hiểu. Tuy nhiên, không có cách nào để liên kết sự xuất hiện của một tham số với một tham số khác trong 'program_options'. Tuy nhiên, bạn có thể điều chỉnh phương thức của @CharlesB, để bất cứ khi nào bạn kiểm tra 'options.count (" Ox ")' bạn cũng kiểm tra 'options.count (" Oall ")'. – rcollyer

Trả lời

1

Tôi thấy điều này nhiều hơn trong logic của chương trình nên tôi nghi ngờ Tùy chọn chương trình cung cấp điều này. Đơn giản chỉ cần sử dụng

if (Oall) 
{Ox = Oy = Oz = true;} 

và như vậy

+1

Điều này làm việc, nhưng với giải pháp này tôi phải sử dụng các biến ánh xạ từng tùy chọn và tôi muốn tránh trường hợp này nếu có thể. –

+0

Cuối cùng, có vẻ như đó là giải pháp tốt nhất để sử dụng. Cảm ơn –

Các vấn đề liên quan