Trong python, tôi có thể làm như sau để có được tất cả các đối tượng trong một danh sách với một thuộc tính cụ thể. Trong ví dụ này, tôi lấy danh sách các id
lĩnh vực mỗi obj
trong danh sách objs
nơi obj.id
lớn hơn 100:Perl tương đương với sự hiểu biết danh sách của Python với câu lệnh if nếu được nhúng?
ids = [ obj.id for obj in objs if obj.id > 100]
Làm thế nào tôi sẽ làm điều tương tự trong perl? Tôi nghĩ rằng tôi muốn sử dụng map
, nhưng tôi không biết làm thế nào để có điều kiện bản đồ các mục từ nguồn gốc được đặt thành bộ đích.
'bản đồ + ($ _-> id) x ($ _-> id> 100), @ objs' – ysth
@ysth: Yikes. Tôi nghĩ rằng tôi muốn tiết kiệm một cho chơi golf mã. Toán tử bậc ba an toàn hơn nhiều, vì bạn không phải đảm bảo điều kiện của bạn chỉ trả về 0 hoặc 1. – cjm
nếu nghi ngờ, hãy sử dụng toán tử '() x !!' – ysth