July 05, 2022
On 7/5/22 17:14, Gary Chike wrote:

> So, in order to use `parse!int()`, I would need to separate it into two
> statements with a variable acting as an intermediary:
> ```
> auto input = readln();
> auto age = parse!int(input);

Exactly. parse takes the input by reference (necessitating an lvalue) so that the input is consumed for the next step(s) of parsing.

Ali

July 05, 2022

On 7/5/22 8:14 PM, Gary Chike wrote:

>

On Monday, 20 June 2022 at 16:08:33 UTC, Ali Çehreli wrote:

>

On 6/20/22 07:00, Gary Chike wrote:

>

Would it be appropriate to forego readf
and read input as a string using readln ,benefiting from
the strip
function, then convert to their appropriate datatype

Makes sense. The following are related as well:

  https://dlang.org/library/std/conv/parse.html

  https://dlang.org/library/std/format/read/formatted_read.html

It's interesting from my own experimentation and observation, comparing parse!int() vs to!int() For instance, I can formulate a statement such as this using to!int():
auto age = to!int(readln.strip());
but the same syntax  using parse!int() would generate an error:
auto age = parse!int(readln.strip());
So, in order to use parse!int(), I would need to separate it into two statements with a variable acting as an intermediary:

auto input = readln();
auto age = parse!int(input);

Yes, you have 2 orthogonal desires:

  1. I want to update the original range or not
  2. I want to treat the entire range as representing my conversion type or just the first part.

Phobos only handles 2 of the 4 possible scenarios. Well, really one scenario (reading the entire range, and wanting to update the original) is not important.

-Steve

July 06, 2022

Thanks for the extra info guys! D is one of my favorite languages I'm currently learning. :)

1 2
Next ›   Last »