| |
| ▲ | vips7L a day ago | parent | next [-] | | What’s the difference? stdin
|> byLine(yes)
|> uniq
|> map(a => aidup)
|> array
|> sort
|> copy(stdout)
I’m sorry if you took it as bashing. It’s mere curiosity as I’ve never seen that preference before. | | |
| ▲ | johnisgood 9 hours ago | parent | next [-] | | For what it's worth, in Elixir you might write something along the lines of the following (this is a rough translation, I haven't tested it): IO.stream(:stdio, :line)
|> Stream.map(&String.trim_trailing/1)
|> Enum.uniq()
|> Enum.map(&String.duplicate(&1, 1))
|> Enum.sort()
|> Enum.each(&IO.puts/1)
This is not equivalent in style or presentation to: stdin
.byLine(KeepTerminator.yes)
.uniq
.map!(a => a.idup)
.array
.sort
.copy(stdout.lockingTextWriter());
Personally, I find the D version visually unappealing (and confusing), especially the way "stdin" sits alone on its own line, followed by a sequence of indented method calls. The excessive use of dots combined with the indentation structure makes it look, to me, rather awkward.That is just my own opinion. | | |
| ▲ | WalterBright 4 hours ago | parent [-] | | You can format it whatever way you like. D does not use formatting to impose semantic meaning. |
| |
| ▲ | johnisgood a day ago | parent | prev | next [-] | | Is it a fair comparison? Would it work in Elixir? I have not seen it in Elixir projects as such. | | |
| ▲ | Jtsummers a day ago | parent [-] | | Adjusting for the actual Elixir functions, yes that would work. That's how Elixir's |> works, it takes the value from the left and passes it as the first argument to function on the right. Which is what the chain of calls in D is doing. | | |
| ▲ | johnisgood 9 hours ago | parent | next [-] | | I have not yet seen such long chains in Elixir. Could you show me a project where it is used? "map(a => aidup)" caught me by surprise, too. Would Elixir do such a thing? | |
| ▲ | vips7L 14 hours ago | parent | prev [-] | | Thanks. I don’t know elixir. |
|
| |
| ▲ | a day ago | parent | prev [-] | | [deleted] |
| |
| ▲ | amiga386 a day ago | parent | prev [-] | | And yet... Perl is good with its chained operators acting on lists? print join '',
sort { $a cmp $b }
grep { !$seen{$_}++ } # = uniq
<STDIN>;
| | |
| ▲ | johnisgood a day ago | parent | next [-] | | I do not write such Perl code, but I have in the past. | |
| ▲ | johnisgood 8 hours ago | parent | prev [-] | | Oh and by the way, it does not look that different from that of Rust. :) I have came across a lot of Rust projects. |
|
|