trait CanQuantify
[ Q, T
] { }
def +
( that
: Quantity
[ T
] ) ( implicit q
: CanQuantify
[ Self, T
] , num
: Numeric
[ T
] ) = { q( value + that.value )
}
def /
[ R
<: Quantity
[ T
] ] ( that
: R
) ( implicit num
: Numeric
[ T
] ) = { Per[ T, Self, R] ( value * that.value )
}
}
case class Per
[ T, Q
<: Quantity
[ T
] , R
<: Quantity
[ T
] ] ( value
: T
) extends Quantity
[ T
] { }
}
}
implicit val productCountCanQuantify
= new CanQuantify
[ ProductCount, Int
] { }
}
}
val products
= ProductCount
( 10 ) n = boxes / products
}
dHJhaXQgQ2FuUXVhbnRpZnlbUSwgVF0gewogIGRlZiBhcHBseSh2YWx1ZTogVCk6IFEKfQoKdHJhaXQgUXVhbnRpdHlbVF0gewogIHR5cGUgU2VsZiA8OiBRdWFudGl0eVtUXQoKICBkZWYgdmFsdWU6IFQKCiAgZGVmICsodGhhdDogUXVhbnRpdHlbVF0pKGltcGxpY2l0IHE6IENhblF1YW50aWZ5W1NlbGYsIFRdLCBudW06IE51bWVyaWNbVF0pID0gewogIAlpbXBvcnQgbnVtLl8KICAJcSh2YWx1ZSArIHRoYXQudmFsdWUpCiAgfQoKICBkZWYgL1tSIDw6IFF1YW50aXR5W1RdXSh0aGF0OiBSKShpbXBsaWNpdCBudW06IE51bWVyaWNbVF0pID0gewogIAlpbXBvcnQgbnVtLl8KICAgIFBlcltULCBTZWxmLCBSXSh2YWx1ZSAqIHRoYXQudmFsdWUpCiAgfQp9CgpjYXNlIGNsYXNzIFBlcltULCBRIDw6IFF1YW50aXR5W1RdLCBSIDw6IFF1YW50aXR5W1RdXSh2YWx1ZTogVCkgZXh0ZW5kcyBRdWFudGl0eVtUXSB7CiAgb3ZlcnJpZGUgdHlwZSBTZWxmID0gUGVyW1QsIFEsIFJdCn0KCmNhc2UgY2xhc3MgUHJvZHVjdENvdW50KHZhbHVlOiBJbnQpIGV4dGVuZHMgUXVhbnRpdHlbSW50XSB7CiAgb3ZlcnJpZGUgdHlwZSBTZWxmID0gUHJvZHVjdENvdW50Cn0KCmNhc2UgY2xhc3MgQm94Q291bnQodmFsdWU6IEludCkgZXh0ZW5kcyBRdWFudGl0eVtJbnRdIHsKICBvdmVycmlkZSB0eXBlIFNlbGYgPSBCb3hDb3VudAp9CgpwYWNrYWdlIG9iamVjdCBjYW5RdWFudGlmaWVzIHsKICBpbXBsaWNpdCB2YWwgcHJvZHVjdENvdW50Q2FuUXVhbnRpZnkgPSBuZXcgQ2FuUXVhbnRpZnlbUHJvZHVjdENvdW50LCBJbnRdIHsKICAgIG92ZXJyaWRlIGRlZiBhcHBseSh2YWx1ZTogSW50KSA9IFByb2R1Y3RDb3VudCh2YWx1ZSkKICB9CgogIGltcGxpY2l0IHZhbCBib3hDb3VudENhblF1YW50aWZ5ID0gbmV3IENhblF1YW50aWZ5W0JveENvdW50LCBJbnRdIHsKICAgIG92ZXJyaWRlIGRlZiBhcHBseSh2YWx1ZTogSW50KSA9IEJveENvdW50KHZhbHVlKQogIH0KfQppbXBvcnQgY2FuUXVhbnRpZmllcy5fCgpvYmplY3QgTWFpbiBleHRlbmRzIEFwcCB7CiAgdmFsIHByb2R1Y3RzID0gUHJvZHVjdENvdW50KDEwKQogIHZhbCBib3hlcyA9IEJveENvdW50KDUpCiAgdmFyIG4gPSBwcm9kdWN0cyAvIGJveGVzCiAgbiA9IGJveGVzIC8gcHJvZHVjdHMKfQ==
compilation info
/opt/scala/bin/scalac: line 50: /dev/null: Permission denied
Main.scala:48: error: type mismatch;
found : Per[Int,Main.boxes.Self,ProductCount]
required: Per[Int,Main.products.Self,BoxCount]
n = boxes / products
^
one error found
spoj: The program compiled successfully, but Main.class was not found.
Class Main should contain method: def main(args: Array[String]).
stdout