nemorathwald (
nemorathwald) wrote2009-02-01 09:14 pm
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Dalmation Plantation Concatenation Notation
I and
le_bebna_kamni are sitting in Espresso Royale practicing programming in Ruby. We did the same exercise for making singular and plural sentences. When I looked at the way she did it in her version, I didn't recognize what the hash sign followed by curly braces is supposed to do. She explained it for a while. I summarized.
"So it's a concatenation notation."
"Yeah."
"For a dalmation plantation."
"It'll be a sensation!"
Breaking out into song
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)

"Yeah."
"For a dalmation plantation."
"It'll be a sensation!"
Breaking out into song
A concatenation notation,Then she made new code to demonstrate how it works in terms I would understand:
Where our population can roam
If this new location
Our whole aggregation
Will love our plantation home!
#!/usr/bin/ruby def pluralize(unit, quantity) if quantity == 1 then return "#{quantity} #{unit}" else return "#{quantity} #{unit}s" end end print "Concatenation for the Dalmation Plantation: ", \ pluralize("Dalmation", 101),"\n"Output:
Concatenation for the Dalmation Plantation: 101 Dalmations
no subject
Is there a reason to avoid "if quantity != 1"?
However, both pieces of code expect a positive number and make no provision for negative numbers. Why is "0== quantity or 1 < quantity" more helpful?
no subject
That particular one is not style as much as safety. In a lot of languages, the difference between equality tests and assignment is one character ("==" vs. "="). Since most of those languages don't allow expressions to be assigned values, putting the constant on the left will make that kind of error a compilation one, not a runtime one.
The general answer (in the absence as any safety issues) is to strive for the expression to read well. There is a famous web designer who's thesis is "don't make me think" and (as weird as it sounds) it applies in programming, too. The less bandwidth taken up by your mind parsing the programming language, the more cycles that are available to solve problems.
Yeah, you caught me there. :-) I realized after I posted (ain't that always the way?) that in English -1 is read as plural, so you're right, only the 1 quantity is special. In light of that, I would invert the test and have the majority of quantities be plural and 1 be the exception.