2009-08-05 34 views
11

Tôi đang viết tập lệnh Ruby để tạo tệp CSV. Sự hiểu biết của tôi là mỗi dòng trong tệp CSV là một hàng trong bảng.Ruby xuất ra cùng dòng với đầu ra trước đó

Ngay bây giờ kịch bản của tôi tạo ra một cái gì đó trông như thế này

Vancouver, Calgary, 
Routes1, 
Routes2, 
Routes3, 
Vancouver, Toronto 
etc, 
etc, 
etc 

nhưng tôi cần nó để làm cho nó trông như thế này để nhập nó vào một DB

Vancouver, Calgary, Routes1, Routes2, Routes3 
Vancouver, Toronto, etc etc etc.. 

Kịch bản của tôi hoạt động bằng cách nhìn lên Vancouver và Calgary từ dữ liệu thô chứa vị trí của các tuyến đường trong các tệp khác nhau. Sau đó, tập lệnh sẽ chuyển đến các tệp đó để tìm các tuyến đường thực tế. Mỗi lần nó tìm thấy một lộ trình (ví dụ Route1), kịch bản lệnh xuất ra nó bằng phương thức "puts". Vấn đề là mọi đầu ra đều nằm trên một dòng mới.

Có cách nào để chặn lệnh dòng mới khi sử dụng lệnh "đặt" không?

+0

Bạn đã xem xét sử dụng http://fastercsv.rubyforge.org/ chưa? bạn có thể xây dựng một mảng và sử dụng to_csv trên nó – BaroqueBobcat

Trả lời

41

Có, sử dụng print var thay thế; puts tự động nối thêm một dòng mới, print thì không.

+1

bạn là GOD! cảm ơn – b1gtuna

+0

Để sử dụng dòng in mới "\ n" –

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