justinian / dice

Golang dice library
MIT License
20 stars 13 forks source link

embedded fmt.Stringer #1

Closed frenata closed 9 years ago

frenata commented 9 years ago

This isn't necessarily an issue so much as an attempt at understanding the code, but why is the RollResult interface defined with the embedded interface fmt.Stringer. As far as I know this is functionally equivalent to String() string in the interface definition, yes?

Anyway, thanks for the library more generally, I was sitting down thinking of some ideas for CLI helper tools for running some RPGs and realized that a first start was a parser/roller for '3d6' style strings, but figured I better check to make sure someone else hadn't done it first before potentially replicating a lot of work!

justinian commented 9 years ago

Yeah, exactly - both are equivalent. The original version of the code just returned fmt.Stringer, which is probably one reason I leaned towards using the embedded interface. Also, I just like composition of existing things instead of repeating them.

Glad you found it useful! Feel free to send PRs if there's anything you want to add.