Đoạn mã dưới đây sẽ cho kết quả "xyz"bao gồm khoảng trắng trong khi sử dụng% w
a = %w{x y z}
print a.to_s
Có một tùy chọn có thể được bổ sung vào khối để cho phép không gian để được bổ sung?
Ví dụ, tôi nghĩ rằng bằng cách thay đổi mã để này, tôi có thể có thể không gian tách biệt các yếu tố để tạo ra một sản phẩm của "xyz"
a = %w{"x " "y " "z "}
print a.to_s
Thay vào đó nó tạo ra này:
"x" "y" "z"
Tôi không biết bạn có thể làm theo cách này. Cảm ơn. –
Sự cố bạn gặp phải là array.to_s trong Ruby trước 1.9 chỉ bị kẹt tất cả các phần tử từ đầu đến cuối. Vấn đề không nằm trong dữ liệu mảng của bạn, mà là phương thức in mảng. Đó là lý do tại sao% w {x y z} .join ('') hoạt động tốt. Ngoài ra, để bao gồm dấu cách trong một giá trị mảng% w, hãy sử dụng dấu "\" (dấu gạch chéo ngược). – Chuck