Some interesting and useful syntax here! However...
I’m also partial to this trick for grabbing just the first element of an array.
family, = socket.peeraddr
This is the sort of code that really turns me off when I'm digging through Ruby. It adds no clarity and actually looks like a typo. What's wrong with this?
I do agree with you, but through some failing of my own I still quite enjoy that trick. I included it to highlight the syntax, but I'll add a note saying it's maybe not the best idea to actually use it.
Right. I think it works better in Python — although I'm partial towards `[family] = socket.peeraddr` or adding parens as the comma is a bit hard to see — because it also asserts that the RHS is a single-item iterable (or however many items you have on the left-hand side:
>>> [a] = range(1)
>>> [a] = range(2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
and it works on any iterable (any object with #to_a in ruby).
I’m also partial to this trick for grabbing just the first element of an array.
This is the sort of code that really turns me off when I'm digging through Ruby. It adds no clarity and actually looks like a typo. What's wrong with this? It's much clearer what's going on.