M
Matthew Moss
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
The three rules of Ruby Quiz 2:
1. This week only -- no waiting period!
2. Support Ruby Quiz 2 by submitting ideas as often as you can! (A
permanent, new website is in the works for Ruby Quiz 2. Until then,
please visit the temporary website at
<http://splatbang.com/rubyquiz/>.
3. Enjoy!
Suggestion: A [QUIZ] in the subject of emails about the problem
helps everyone on Ruby Talk follow the discussion. Please reply to
the original quiz message, if you can.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Apologies for being late today... 'twas distracted by my English
report!
## One-Liners Mashup (#177)
This week is going to be very informal, and without any particular
task or submission. It's hunting season, and we're hunting one-liners.
Basically, we'll start with the simple problem I've presented below.
Your solution must fit in one line. (Golfing is okay, but not
necessary. One line *generally* means about 80 chars wide, but we're
flexible here.) If you are writing a method, the `def foo(args)` and
`end` (and `class Whatever` and `end` for adding methods to a class)
doesn't count... the body of the method will.
Of course, your solutions should be generally useful, and not hard-
coded to solve any particular example used to illustrate what the
solution should do.
Post your solution AND a followup problem for others to solve. Repeat
ad nauseum (or until about Wed/Thu).
Ready? Here goes. First problem...
You should know this pattern well:
Write a single line method on Array that does this instead:
The three rules of Ruby Quiz 2:
1. This week only -- no waiting period!
2. Support Ruby Quiz 2 by submitting ideas as often as you can! (A
permanent, new website is in the works for Ruby Quiz 2. Until then,
please visit the temporary website at
<http://splatbang.com/rubyquiz/>.
3. Enjoy!
Suggestion: A [QUIZ] in the subject of emails about the problem
helps everyone on Ruby Talk follow the discussion. Please reply to
the original quiz message, if you can.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Apologies for being late today... 'twas distracted by my English
report!
## One-Liners Mashup (#177)
This week is going to be very informal, and without any particular
task or submission. It's hunting season, and we're hunting one-liners.
Basically, we'll start with the simple problem I've presented below.
Your solution must fit in one line. (Golfing is okay, but not
necessary. One line *generally* means about 80 chars wide, but we're
flexible here.) If you are writing a method, the `def foo(args)` and
`end` (and `class Whatever` and `end` for adding methods to a class)
doesn't count... the body of the method will.
Of course, your solutions should be generally useful, and not hard-
coded to solve any particular example used to illustrate what the
solution should do.
Post your solution AND a followup problem for others to solve. Repeat
ad nauseum (or until about Wed/Thu).
Ready? Here goes. First problem...
You should know this pattern well:
=> [ne, "two", 4, ne, "two", 4, ne, "two", 4][ne, "two", 4] * 3
Write a single line method on Array that does this instead:
=> [ne, ne, ne, "two", "two", "two", 4, 4, 4][ne, "two", 4].repeat(3)