Knapsack problem/Continuous: Difference between revisions
Content added Content deleted
No edit summary |
(Updated D entry) |
||
Line 525: | Line 525: | ||
} |
} |
||
string toString() const |
string toString() const pure /*nothrow*/ @safe { |
||
return format("%10s %7.2f %7.2f %7.2f", |
return format("%10s %7.2f %7.2f %7.2f", |
||
name, amount, value, valuePerKG); |
name, amount, value, valuePerKG); |
||
Line 531: | Line 531: | ||
} |
} |
||
real sumBy(string field)(in Item[] items) |
real sumBy(string field)(in Item[] items) @safe pure nothrow @nogc { |
||
@safe pure nothrow @nogc { |
|||
//return reduce!(ctEval!("a + b." ~ field))(0.0L, items); |
|||
return reduce!("a + b." ~ field)(0.0L, items); |
return reduce!("a + b." ~ field)(0.0L, items); |
||
} |
} |
||
void main() { |
void main() /*@safe*/ { |
||
const items = [Item("beef", 3.8, 36.0), |
const items = [Item("beef", 3.8, 36.0), |
||
Item("pork", 5.4, 43.0), |
Item("pork", 5.4, 43.0), |