[question]: Is the main benefit of "Rightward assignments" readability and does this provide more benefits?
makejunk().filter().last(4) => fourthings
feels better than fourthings = makejunk().filter().last(4) makejunk | grep foo | tail -4 > fourthings
is more popular than > fourthings makejunk | grep foo | tail -4
Having said that, I don’t understand why you would add this, but then, I don’t understand the popularity of ruby or other languages that think adding alternative ways to do things most of the time is a good thing. fourthings=$(makejunk | grep foo | tail -4) user.delete() if deleteUser
It is probably thought that this feature would result in similar readability improvements. if deleteUser
user.delete()
end
It's easier for me to read. It doesn't try to hide away logic. And if the line gets longer if the conditional gets more complex or I want to add an else I can without reformatting.return if a.nil? return if attempts < max_attempts
In this case "return if" becomes like a keyword and you can ignore it and focus on the rest of the expression. It also seems very readable for other simple values like `return false if ...`. But I agree, as soon as the code to the left of the `if` gets non-trivial it is harder to read.
Any time I use it, I wish python had just gone with the normal ternary (? :) operator.
No, python writes the ternary operator with words, it doesn't have rightward conditionals.
The key difference is that the else clause is required in the Python ternary, where it's optional in a conditional.