2012-01-03 12 views
33

Nhiều người trong số các tùy chọn bao gồm các tùy chọn giá trị Force:"Force" làm gì trong Uncrustify?

Thêm hoặc loại bỏ khoảng trống giữa dấu ngoặc lồng nhau

sp_paren_paren {Ignore, Add, Remove, Force}

có nghĩa là gì? Nó khác với Add như thế nào?

Trả lời

38

Thêm phương tiện "thêm nếu chưa có", nghĩa là nếu có gì đó đã có, hãy để nó (và định dạng riêng). Lực lượng có nghĩa là thêm nếu không có mặt, và định dạng lại nếu nó hiện diện:

// Original 
if (cond)   { 
    func(); 
} 

// Add curly braces (already present, leaves formatting alone) 
if (cond)   { 
    func(); 
} 

// Force curly braces 
if (cond) { 
    func(); 
} 

Hoặc một ví dụ khác:

// Original 
if (cond) 
    func(); 

// Add curly braces 
if (cond) { 
    func(); 
} 

// Force curly braces (behaves just like add in this case) 
if (cond) { 
    func(); 
} 
6

Add thêm nếu nó không phải là ở đó.

Remove xóa nếu nó ở đó.

Force thực hiện remove sau đó là add.

1

Như "Add or Remove X giữa A và B"

Add: chỉ thêm một X khi không có X xuất hiện

AB -> AXB 
AXB -> AXB 
AXXB -> AXXB 

Remove: loại bỏ tất cả các xuất hiện X

AB -> AB 
AXB -> AB 
AXXB -> AB 

Force: như edwinc đã nói Remove rồi.210 -> Loại bỏ tất cả (bất kỳ) X đầu tiên và thêm một X cuối cùng

AB -> AXB 
AXB -> AB -> AXB 
AXXB -> AB -> AXB 

Nhưng đôi khi 'thêm X' có thể được định nghĩa là thêm một số X số nơi khác, vì vậy Force sẽ giống như một "định dạng lại" như Chris nói.

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