các phiên bản gần đây của Ruby hỗ trợ việc sử dụng các dấu ngoặc trong globbing, nếu bạn sử dụng tùy chọn File :: FNM_EXTGLOBglobbing sử dụng niềng răng trên Ruby 1.9.3
File.fnmatch('c{at,ub}s', 'cats', File::FNM_EXTGLOB) #=> true # { } is supported on FNM_EXTGLOB
Tuy nhiên, 1.9 .3 tài liệu nói nó không được hỗ trợ trong 1.9.3:
File.fnmatch('c{at,ub}s', 'cats') #=> false # { } isn't supported
(cũng có thể, cố gắng sử dụng File::FNM_EXTGLOB
đã đưa ra một lỗi tên)
Có cách nào để sử dụng dấu ngoặc trong Ruby 1.9.3, chẳng hạn như đá quý bên thứ ba không?
Các chuỗi tôi muốn đối sánh với từ S3, không phải là hệ thống tệp cục bộ, vì vậy tôi không thể yêu cầu hệ điều hành thực hiện thao tác theo như tôi biết.
Vì 'Tệp' có thể thực hiện thao tác trên, hệ điều hành có thể đảm bảo. Tôi đặt cược S3 được gắn hoặc thích, vì vậy hãy thử '% x | ls c {at, ub} s |', nó sẽ hoạt động. – mudasobwa