ฉันกำลังพยายามคืนจำนวนเงินรวมหลังจากทำความเข้าใจแล้ว นี่คือสิ่งที่ฉันพยายาม:
range = 1..999
multiple_of_3_or_5? = fn(n) -> (rem(n, 3) == 0 || rem(n, 5) == 0) end
for n <- range, multiple_of_3_or_5?.(n),
do: Enum.reduce(n, 0, fn(x, y) -> (x + y) end)
ดูเหมือนว่าควรรวมรายการที่ส่งคืนจากความเข้าใจ แต่จะพิมพ์ข้อผิดพลาดนี้แทน:
#=> ** (Protocol.UndefinedError) protocol Enumerable not implemented for 3
ใครสามารถช่วยเรื่องนี้ได้บ้าง?