I exchanged a class to an enum since the BMI values are a finite set. This eliminates a need for valid value check since the switch that is used to initialise the enum value is exhaustive.
http://swiftstub.com/242291010/ On Tue, Dec 15, 2015 at 3:30 PM, Erica Sadun via swift-users < [email protected]> wrote: > Leaving aside typos, any discussion about the merits of BMI, and the > intemperate language in the code, you do a few things that could be > improved upon language-wise. Of these, the most egregious is the final > "break the machine" else statement that can never be reached. > > The following example does several things: > http://swiftstub.com/358512527 > > * Adds a precondition to ensure that clients have passed valid arguments > * Uses an enumeration (with a default value) instead of overloading a > class function with nearly identical code > * Introduces a multiplier to address the kg/lb difference > * Establishes an upper case name for the class > * Uses a switch statement instead of cascaded ifs > * Returns a String instead of running procedurally > > -- E > > > On Dec 14, 2015, at 8:20 PM, Gage Morgan via swift-users < > [email protected]> wrote: > > For most languages I try out, my own version of "Hello World!" is a BMI > calculator. Swift has passed, I encourage you to try it out. > > There are two methods called towards the end of file: > 1) bmi.pounds(weight, height) - Replace numbers inside with your own if > you want to test out in US Customary units. > > 2) bmi.kilograms(weight, height) - Replace numbers inside with your own if > you want to test out in Metric units used everywhere outside the US. > > You already get the gist, the bits can be found here: > https://gist.github.com/anonymous/9284017644567c29c7f8 > > If there's a bug please let me know, but it works in IBM's Sandbox. > (Yes, ALL code was written by me without help. Very close to C, just a bit > laid back.) > --MGage-- > > _______________________________________________ > swift-users mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-users > > > > _______________________________________________ > swift-users mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-users > >
_______________________________________________ swift-users mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-users
