Damn, I wish rust had that
"Useless syntax sugar": Numbered block parameters in Ruby
Submitted 1 year ago by PythOnRails@programming.dev to programming@programming.dev
https://zverok.space/blog/2023-10-11-syntax-sugar1-numeric-block-args.html
Comments
twelvefloatinghands@lemmy.world 1 year ago
colonial@lemmy.world 1 year ago
It wouldn’t be as relevant, since passing a function or method instead of a closure is much easier in Rust - you can just name it, while Ruby requires you to use the
method
method.So instead of
.map(|res| res.unwrap())
you can do.map(Result::unwrap)
and it’ll Just Work™.jendrik@discuss.tchncs.de 1 year ago
Except when Type::Method takes a reference, then it doesn’t just work
TheCee@programming.dev 1 year ago
I’m glad it doesnt.
paperplane@lemmy.world 1 year ago
Swift does, though using the dollar sign rather than underscores
Anders429@programming.dev 1 year ago
I sincerely doubt Rust would ever add something like this.
eager_eagle@lemmy.world 1 year ago
The liberty to not name things that are obvious.
and that’s yet another way to end up with hard to read code
exussum@lemmy.world 1 year ago
This makes me want to write a function for you to add to numbers where the variables are leftumber and rightnumber, instead of x and y.
Knusper@feddit.de 1 year ago
I do think the unnumbered variant of such anonymous parameters is useful, if you’ve got a team of devs that knows not to misuse them.
In particular, folks who are unexperienced will gladly make massive multi-line transformations, all in one step, and then continue blathering on about
it
or similar, as if everyone knew what they were talking about and there was no potential for ambiguity.This is also particularly annoying, because you rarely read code top-to-bottom. Ideally, you should be able to jump into the middle of any code and start reading, without having to figure out what the regional abbreviations or
it
mean.jeffhykin@lemm.ee 1 year ago
Is it just me or does it feel kinda unclean for it to just support 1 through 9?
eager_eagle@lemmy.world 1 year ago
tbf positional arguments are already bad enough. Now if you’re using over 9 positional args… just take a break, go for a short walk, and maybe you’ll come back with a better plan
bnjmn@programming.dev 1 year ago
OMG looks like Raku
AnUnusualRelic@lemmy.world 1 year ago
Is ruby the new Perl?
marcos@lemmy.world 1 year ago
That deserves an “always has been” meme… But IMO, Ruby outperled Perl since the beginning.
Perl doesn’t let you redefine the syntax so that you can write the same program multiple ways. All it does is to encourage multiple programs to have the same meaning.
AnUnusualRelic@lemmy.world 1 year ago
I never looked at Ruby, but that doesn’t seem like it would be great for readability (although maybe productivity).
exussum@lemmy.world 1 year ago
And lets you easily write metal languages due to the way you can pass around blocks. Think configuration as code type stuff.