Tôi cần trợ giúp về điều gì đó có vẻ đơn giản nhưng gây nhầm lẫn cho tôi. Cố gắng viết một số phương thức đối sánh mờ mà đối phó với sự khác biệt về định dạng giữa giá trị nào được tính khi cần và thực tế có sẵn từ danh sách lựa chọn.cách tìm phần tử phù hợp nhất trong mảng số?
Giá trị (giá tấn công tùy chọn) luôn là Float được tính như 85.0
hoặc Int.
Mảng chứa số ở dạng chuỗi, không thể đoán trước trong hoặc tăng hoặc liệu họ sẽ được hiển thị làm tròn đến một số thập phân (bao gồm cả số không thêm như 5.50
) hoặc không có chữ số thập phân (như 85
), Eg .:
select_list = ["77.5", "80", "82.5", "85", "87.5", "90", "95", "100", "105"]
Tôi không chắc chắn cách viết một dòng đơn giản hoặc hai mã sẽ trả về phần tử đối sánh gần nhất (theo giá trị số) khi nó xuất hiện trong mảng. Ví dụ: nếu select_list.contains? 85.0
trả lại "85"
Đối tượng HTML có văn bản hiển thị (không phải giá trị HTML) là những con số đó; có lẽ có một cách trực tiếp hơn để chỉ gọi browser.select_list(:id, "lstStrike0_1").select X
mà không cần phải tìm ra trong Watir làm thế nào để chuyển đổi tất cả những lựa chọn đó thành một mảng Ruby?
Một câu hỏi http://stackoverflow.com/q/6358860/1069375 chiếu sáng cho tôi làm thế nào để dễ dàng chuyển đổi danh sách Watir select_list thành mảng cần thiết: 'selectContent = browser.select_list (: id," lstStrike0_1 "). options.map (&: text)' – Marcos