Có ai biết về một viên ngọc Ruby (hoặc tích hợp sẵn, hoặc cú pháp gốc, cho vấn đề đó) hoạt động trên các dấu ngoặc kép bên ngoài của chuỗi không?
Tôi thấy mình đã viết đi viết lại những phương pháp như thế này:
remove_outer_quotes_if_quoted( myString, chars ) -> aString
add_outer_quotes_unless_quoted( myString, char ) -> aString
Các bài kiểm tra đầu tiên myString
để xem liệu các ký tự bắt đầu và kết thúc của nó có khớp với bất kỳ ký tự nào trong đó hay không chars
. Nếu vậy, nó trả về chuỗi có dấu ngoặc kép đã bị loại bỏ. Nếu không, nó trả về nó không thay đổi. chars
mặc định là danh sách các ký tự dấu ngoặc kép.
Thử nghiệm thứ hai myString
để xem liệu nó đã bắt đầu và kết thúc với chưa char
. Nếu vậy, nó trả về chuỗi không thay đổi. Nếu không, nó trả về chuỗi có char
gắn trước và sau, và bất kỳ lần xuất hiện nhúng nào của char
đều được thoát bằng dấu gạch chéo ngược. char
mặc định là đầu tiên trong danh sách ký tự mặc định.
(Tất nhiên, các phương pháp viết tay của tôi không có những cái tên dài dòng như vậy.)
Tôi đã tìm kiếm các phương pháp tương tự trong các repo công khai nhưng không thể tìm thấy bất kỳ điều gì như thế này. Tôi có phải là người duy nhất cần phải làm điều này rất nhiều? Nếu không, làm thế nào để những người khác làm điều này?