And, of course, this is a perfect opportunity to use Swift tuple returns and eliminate the side-effect of printing the numeric value:
http://swiftstub.com/176972405 -- E, whose kids have a snow day this morning in case you can't tell > On Dec 15, 2015, at 7:20 AM, Erica Sadun <er...@ericasadun.com> wrote: > > In fact, there's no really good reason to use any construct, whether struct, > class, or enum, for this at all since the BMI isn't a "thing" per se. A > global function might be a better fit. > > http://swiftstub.com/443052056 <http://swiftstub.com/443052056> > > -- E > >> On Dec 15, 2015, at 7:10 AM, Eimantas Vaiciunas via swift-users >> <swift-users@swift.org <mailto:swift-users@swift.org>> wrote: >> >> 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/ <http://swiftstub.com/242291010/> >> >> On Tue, Dec 15, 2015 at 3:30 PM, Erica Sadun via swift-users >> <swift-users@swift.org <mailto:swift-users@swift.org>> 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 <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 >>> <swift-users@swift.org <mailto:swift-users@swift.org>> 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 >>> <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 >>> swift-users@swift.org <mailto:swift-users@swift.org> >>> https://lists.swift.org/mailman/listinfo/swift-users >>> <https://lists.swift.org/mailman/listinfo/swift-users> >> >> >> _______________________________________________ >> swift-users mailing list >> swift-users@swift.org <mailto:swift-users@swift.org> >> https://lists.swift.org/mailman/listinfo/swift-users >> <https://lists.swift.org/mailman/listinfo/swift-users> >> >> >> _______________________________________________ >> swift-users mailing list >> swift-users@swift.org <mailto:swift-users@swift.org> >> https://lists.swift.org/mailman/listinfo/swift-users >> <https://lists.swift.org/mailman/listinfo/swift-users>
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users