Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add resistor-color-duo #703

Merged
merged 6 commits into from
May 22, 2024
Merged

Conversation

BNAndras
Copy link
Member

@BNAndras BNAndras commented Feb 5, 2024

Related to #675. I'm moving this exercise in the config before resistor-color-trio. That lumps the three resistor color exercises together so the student can find the next one on the website easily.


@testset verbose = true "Resistor Color Duo" begin
@testset "Brown and black" begin
@test colorcode(["brown", "black"]) == 10
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's still weird that this and the trio exercise pass in a vector rather than separate arguments. Is this related to the learning objectives for the exercise?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As far as I know, that was by design. Notably, Haskell does separate arguments (see https://github.com/exercism/haskell/blob/main/exercises/practice/resistor-color-duo/src/ResistorColors.hs and https://github.com/exercism/haskell/blob/main/exercises/practice/resistor-color-trio/src/ResistorColors.hs). However since we already use a vector in resistor-color-trio, it makes sense to do the same here for consistency.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, maybe it'll help people who haven't worked out how to index collections yet or something.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should resistor-color-trio be updated then? You'll break solutions, but the whole resistor color series will be consistent on how they handle arguments.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, I don't think so. I was saying "sure let's do the same as trio for consistency".

BNAndras and others added 2 commits February 6, 2024 06:27
Co-authored-by: Colin Caine <cmcaine@gmail.com>
Copy link
Contributor

@cmcaine cmcaine left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved. Add an approaches file if you feel like it, otherwise feel free to merge this if the github UI lets you.


@testset verbose = true "Resistor Color Duo" begin
@testset "Brown and black" begin
@test colorcode(["brown", "black"]) == 10
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, maybe it'll help people who haven't worked out how to index collections yet or something.

@BNAndras
Copy link
Member Author

BNAndras commented Feb 8, 2024

Approved. Add an approaches file if you feel like it, otherwise feel free to merge this if the github UI lets you.

We could show the mathematical approach I used or a reduce-based approach. If we switch this exercise to use two separate arguments for the colors, the reduce approach is still worthwhile but not as "clean" since we'd need to create a collection to then reduce. Otherwise, I don't think we need approaches for how to retrieve the individual band values since that'd be covered by resistor-color.

@ErikSchierboom ErikSchierboom merged commit adcb25c into exercism:main May 22, 2024
10 checks passed
@BNAndras BNAndras deleted the add-resistor-color-duo branch May 22, 2024 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants