Skip to main content
Code Review

Return to Question

replaced http://meta.codereview.stackexchange.com/ with https://codereview.meta.stackexchange.com/
Source Link

This week's weekend challenge #3 weekend challenge #3 seemed like a great opportunity to learn Ruby! Unfortunately, my workload and looming vacation did not cooperate. :( The puzzle will make forced moves automatically, but I was hoping to implement rules such as Naked Pairs before resorting to brute force.

This week's weekend challenge #3 seemed like a great opportunity to learn Ruby! Unfortunately, my workload and looming vacation did not cooperate. :( The puzzle will make forced moves automatically, but I was hoping to implement rules such as Naked Pairs before resorting to brute force.

This week's weekend challenge #3 seemed like a great opportunity to learn Ruby! Unfortunately, my workload and looming vacation did not cooperate. :( The puzzle will make forced moves automatically, but I was hoping to implement rules such as Naked Pairs before resorting to brute force.

added 348 characters in body; edited tags
Source Link
Jamal
  • 35.2k
  • 13
  • 134
  • 238

Update: I'm looking for feedback on Ruby style (e.g. "avoid and and or as they are confusing"), correct use of idioms and the standard library, code organization, etc. This is a Ruby learning exercise, so I want to avoid picking up bad habits early. Since I haven't implemented any brute-force or complex solving yet, performance isn't an issue.

I'm looking for feedback on Ruby style (e.g. "avoid and and or as they are confusing"), correct use of idioms and the standard library, code organization, etc. This is a Ruby learning exercise, so I want to avoid picking up bad habits early. Since I haven't implemented any brute-force or complex solving yet, performance isn't an issue.

-> require 'Test'
-> Sudoku::Test::easy
Initial Puzzle
..38.4.5.
84......7
6....29..
.18.5..9.
2.6.7.4.5
.3..4.86.
..51....8
1......79
.6.5.7.2.
start : (1,3) -> 3: 123456789
start : (1,4) -> 8: 12.456789
start : (1,6) -> 4: 12.4567.9
start : (1,8) -> 5: 12..567.9
start : (2,1) -> 8: 12.456789
start : (2,2) -> 4: 12.4567.9
start : (2,9) -> 7: 123..67.9
start : (3,1) -> 6: 12..567.9
start : (3,6) -> 2: 123.5.7.9
start : (3,7) -> 9: 1.34...89
start : (4,2) -> 1: 123.56789
start : (4,3) -> 8: .2.456789
start : (4,5) -> 5: .234567.9
start : (4,8) -> 9: .234.67.9
start : (5,1) -> 2: .2345年7月9日
start : (5,3) -> 6: ...4567.9
start : (5,5) -> 7: 1.34..789
force : (3,4) -> 7: 1.3.5.7..
force : (3,2) -> 5: ....5....
force : (3,3) -> 1: 1........
force : (3,5) -> 3: ..3......
start : (5,7) -> 4: 1.345..8.
force : (5,9) -> 5: 1.3.5..8.
start : (5,9) -> 5: .........
start : (6,2) -> 3: ..3...7.9
force : (5,2) -> 9: ........9
start : (6,5) -> 4: 12.4.6.89
force : (4,1) -> 4: ...4..7..
force : (4,7) -> 7: .23..67..
force : (6,5) -> 4: .........
start : (6,7) -> 8: 12...6.8.
force : (5,6) -> 8: 1.3....8.
force : (6,7) -> 8: .........
start : (6,8) -> 6: 12...6...
start : (7,3) -> 5: .2.45.7.9
force : (6,1) -> 5: ....5.7..
force : (6,3) -> 7: ....5.7..
force : (6,1) -> 5: .........
force : (7,3) -> 5: .........
start : (7,4) -> 1: 1234.6..9
force : (5,8) -> 1: 1.3......
force : (5,4) -> 3: 1.3......
force : (4,9) -> 3: .23......
force : (4,4) -> 2: .2...6...
force : (4,6) -> 6: ..3..6...
force : (4,4) -> 2: .........
force : (6,9) -> 2: 12.......
force : (5,8) -> 1: .........
force : (6,6) -> 1: 1.......9
force : (6,4) -> 9: 1.......9
force : (6,6) -> 1: .........
start : (7,9) -> 8: ...4.6.89
force : (7,8) -> 4: .234..7..
force : (3,9) -> 4: ...4...8.
force : (3,8) -> 8: ...4...8.
force : (3,9) -> 4: .........
force : (7,8) -> 4: .........
force : (7,9) -> 8: .........
start : (8,1) -> 1: 1.3...7.9
force : (8,1) -> 1: .........
start : (8,8) -> 7: .23...7..
force : (8,8) -> 7: .........
start : (8,9) -> 9: .....6..9
force : (8,9) -> 9: .........
start : (9,2) -> 6: .2...678.
force : (9,2) -> 6: .........
force : (8,2) -> 8: .2.....8.
force : (9,5) -> 8: .2...6.89
force : (9,5) -> 8: .........
force : (8,2) -> 8: .........
force : (1,9) -> 6: 1....6...
force : (9,9) -> 1: 1....6...
force : (9,9) -> 1: .........
start : (9,4) -> 5: ...45....
force : (2,6) -> 5: ....5...9
force : (2,4) -> 6: .....6...
force : (2,4) -> 6: .........
force : (8,6) -> 3: ..3......
force : (8,6) -> 3: .........
force : (9,4) -> 5: .........
force : (8,7) -> 5: .2..56...
force : (9,4) -> 5: .........
force : (8,7) -> 5: .........
force : (7,7) -> 6: .23..6...
force : (8,5) -> 6: .2...6...
force : (7,5) -> 2: .2...6..9
force : (8,5) -> 6: .........
force : (1,2) -> 2: .2....7..
force : (1,7) -> 1: 1........
force : (2,5) -> 1: 1.......9
force : (1,7) -> 1: .........
force : (1,7) -> 1: .........
force : (2,3) -> 9: .2......9
force : (1,5) -> 9: 1.......9
force : (2,3) -> 9: .........
force : (1,5) -> 9: .........
force : (2,5) -> 1: .........
force : (2,5) -> 1: .........
force : (1,1) -> 7: ......7..
force : (1,1) -> 7: .........
force : (7,2) -> 7: .2....7..
force : (1,2) -> 2: .........
force : (1,1) -> 7: .........
force : (9,6) -> 7: ......7.9
force : (9,6) -> 7: .........
force : (7,2) -> 7: .........
force : (7,6) -> 9: ........9
force : (7,6) -> 9: .........
force : (9,1) -> 9: ..3...7.9
force : (7,1) -> 3: ..3.....9
force : (1,1) -> 7: .........
force : (2,3) -> 9: .........
force : (9,1) -> 9: .........
force : (9,6) -> 7: .........
force : (1,2) -> 2: .........
force : (7,7) -> 6: .........
force : (7,7) -> 6: .........
force : (8,3) -> 2: .2.4.....
force : (8,3) -> 2: .........
force : (9,3) -> 4: ...4.....
force : (9,3) -> 4: .........
force : (8,4) -> 4: ...45....
force : (8,4) -> 4: .........
force : (9,3) -> 4: .........
force : (9,4) -> 5: .........
start : (9,6) -> 7: .........
start : (9,8) -> 2: .23......
force : (2,7) -> 2: .23......
force : (2,8) -> 3: .23......
force : (9,7) -> 3: .23......
force : (2,7) -> 2: .........
force : (2,8) -> 3: .........
force : (9,7) -> 3: .........
force : (9,8) -> 2: .........
force : (9,8) -> 2: .........
force : (2,7) -> 2: .........
Board State
723894156
849615237
651732984
418256793
296378415
537941862
375129648
182463579
964587321
-> require 'Test'
-> Sudoku::Test::easy
Initial Puzzle
..38.4.5.
84......7
6....29..
.18.5..9.
2.6.7.4.5
.3..4.86.
..51....8
1......79
.6.5.7.2.
start : (1,3) -> 3: 123456789
start : (1,4) -> 8: 12.456789
start : (1,6) -> 4: 12.4567.9
start : (1,8) -> 5: 12..567.9
start : (2,1) -> 8: 12.456789
start : (2,2) -> 4: 12.4567.9
start : (2,9) -> 7: 123..67.9
start : (3,1) -> 6: 12..567.9
start : (3,6) -> 2: 123.5.7.9
start : (3,7) -> 9: 1.34...89
start : (4,2) -> 1: 123.56789
start : (4,3) -> 8: .2.456789
start : (4,5) -> 5: .234567.9
start : (4,8) -> 9: .234.67.9
start : (5,1) -> 2: .2345年7月9日
start : (5,3) -> 6: ...4567.9
start : (5,5) -> 7: 1.34..789
force : (3,4) -> 7: 1.3.5.7..
force : (3,2) -> 5: ....5....
force : (3,3) -> 1: 1........
force : (3,5) -> 3: ..3......
start : (5,7) -> 4: 1.345..8.
force : (5,9) -> 5: 1.3.5..8.
start : (5,9) -> 5: .........
start : (6,2) -> 3: ..3...7.9
force : (5,2) -> 9: ........9
start : (6,5) -> 4: 12.4.6.89
force : (4,1) -> 4: ...4..7..
force : (4,7) -> 7: .23..67..
force : (6,5) -> 4: .........
start : (6,7) -> 8: 12...6.8.
force : (5,6) -> 8: 1.3....8.
force : (6,7) -> 8: .........
start : (6,8) -> 6: 12...6...
start : (7,3) -> 5: .2.45.7.9
force : (6,1) -> 5: ....5.7..
force : (6,3) -> 7: ....5.7..
force : (6,1) -> 5: .........
force : (7,3) -> 5: .........
start : (7,4) -> 1: 1234.6..9
force : (5,8) -> 1: 1.3......
force : (5,4) -> 3: 1.3......
force : (4,9) -> 3: .23......
force : (4,4) -> 2: .2...6...
force : (4,6) -> 6: ..3..6...
force : (4,4) -> 2: .........
force : (6,9) -> 2: 12.......
force : (5,8) -> 1: .........
force : (6,6) -> 1: 1.......9
force : (6,4) -> 9: 1.......9
force : (6,6) -> 1: .........
start : (7,9) -> 8: ...4.6.89
force : (7,8) -> 4: .234..7..
force : (3,9) -> 4: ...4...8.
force : (3,8) -> 8: ...4...8.
force : (3,9) -> 4: .........
force : (7,8) -> 4: .........
force : (7,9) -> 8: .........
start : (8,1) -> 1: 1.3...7.9
force : (8,1) -> 1: .........
start : (8,8) -> 7: .23...7..
force : (8,8) -> 7: .........
start : (8,9) -> 9: .....6..9
force : (8,9) -> 9: .........
start : (9,2) -> 6: .2...678.
force : (9,2) -> 6: .........
force : (8,2) -> 8: .2.....8.
force : (9,5) -> 8: .2...6.89
force : (9,5) -> 8: .........
force : (8,2) -> 8: .........
force : (1,9) -> 6: 1....6...
force : (9,9) -> 1: 1....6...
force : (9,9) -> 1: .........
start : (9,4) -> 5: ...45....
force : (2,6) -> 5: ....5...9
force : (2,4) -> 6: .....6...
force : (2,4) -> 6: .........
force : (8,6) -> 3: ..3......
force : (8,6) -> 3: .........
force : (9,4) -> 5: .........
force : (8,7) -> 5: .2..56...
force : (9,4) -> 5: .........
force : (8,7) -> 5: .........
force : (7,7) -> 6: .23..6...
force : (8,5) -> 6: .2...6...
force : (7,5) -> 2: .2...6..9
force : (8,5) -> 6: .........
force : (1,2) -> 2: .2....7..
force : (1,7) -> 1: 1........
force : (2,5) -> 1: 1.......9
force : (1,7) -> 1: .........
force : (1,7) -> 1: .........
force : (2,3) -> 9: .2......9
force : (1,5) -> 9: 1.......9
force : (2,3) -> 9: .........
force : (1,5) -> 9: .........
force : (2,5) -> 1: .........
force : (2,5) -> 1: .........
force : (1,1) -> 7: ......7..
force : (1,1) -> 7: .........
force : (7,2) -> 7: .2....7..
force : (1,2) -> 2: .........
force : (1,1) -> 7: .........
force : (9,6) -> 7: ......7.9
force : (9,6) -> 7: .........
force : (7,2) -> 7: .........
force : (7,6) -> 9: ........9
force : (7,6) -> 9: .........
force : (9,1) -> 9: ..3...7.9
force : (7,1) -> 3: ..3.....9
force : (1,1) -> 7: .........
force : (2,3) -> 9: .........
force : (9,1) -> 9: .........
force : (9,6) -> 7: .........
force : (1,2) -> 2: .........
force : (7,7) -> 6: .........
force : (7,7) -> 6: .........
force : (8,3) -> 2: .2.4.....
force : (8,3) -> 2: .........
force : (9,3) -> 4: ...4.....
force : (9,3) -> 4: .........
force : (8,4) -> 4: ...45....
force : (8,4) -> 4: .........
force : (9,3) -> 4: .........
force : (9,4) -> 5: .........
start : (9,6) -> 7: .........
start : (9,8) -> 2: .23......
force : (2,7) -> 2: .23......
force : (2,8) -> 3: .23......
force : (9,7) -> 3: .23......
force : (2,7) -> 2: .........
force : (2,8) -> 3: .........
force : (9,7) -> 3: .........
force : (9,8) -> 2: .........
force : (9,8) -> 2: .........
force : (2,7) -> 2: .........
Board State
723894156
849615237
651732984
418256793
296378415
537941862
375129648
182463579
964587321

Update: I'm looking for feedback on Ruby style (e.g. "avoid and and or as they are confusing"), correct use of idioms and the standard library, code organization, etc. This is a Ruby learning exercise, so I want to avoid picking up bad habits early. Since I haven't implemented any brute-force or complex solving yet, performance isn't an issue.

-> require 'Test'
-> Sudoku::Test::easy
Initial Puzzle
..38.4.5.
84......7
6....29..
.18.5..9.
2.6.7.4.5
.3..4.86.
..51....8
1......79
.6.5.7.2.
start : (1,3) -> 3: 123456789
start : (1,4) -> 8: 12.456789
start : (1,6) -> 4: 12.4567.9
start : (1,8) -> 5: 12..567.9
start : (2,1) -> 8: 12.456789
start : (2,2) -> 4: 12.4567.9
start : (2,9) -> 7: 123..67.9
start : (3,1) -> 6: 12..567.9
start : (3,6) -> 2: 123.5.7.9
start : (3,7) -> 9: 1.34...89
start : (4,2) -> 1: 123.56789
start : (4,3) -> 8: .2.456789
start : (4,5) -> 5: .234567.9
start : (4,8) -> 9: .234.67.9
start : (5,1) -> 2: .2345年7月9日
start : (5,3) -> 6: ...4567.9
start : (5,5) -> 7: 1.34..789
force : (3,4) -> 7: 1.3.5.7..
force : (3,2) -> 5: ....5....
force : (3,3) -> 1: 1........
force : (3,5) -> 3: ..3......
start : (5,7) -> 4: 1.345..8.
force : (5,9) -> 5: 1.3.5..8.
start : (5,9) -> 5: .........
start : (6,2) -> 3: ..3...7.9
force : (5,2) -> 9: ........9
start : (6,5) -> 4: 12.4.6.89
force : (4,1) -> 4: ...4..7..
force : (4,7) -> 7: .23..67..
force : (6,5) -> 4: .........
start : (6,7) -> 8: 12...6.8.
force : (5,6) -> 8: 1.3....8.
force : (6,7) -> 8: .........
start : (6,8) -> 6: 12...6...
start : (7,3) -> 5: .2.45.7.9
force : (6,1) -> 5: ....5.7..
force : (6,3) -> 7: ....5.7..
force : (6,1) -> 5: .........
force : (7,3) -> 5: .........
start : (7,4) -> 1: 1234.6..9
force : (5,8) -> 1: 1.3......
force : (5,4) -> 3: 1.3......
force : (4,9) -> 3: .23......
force : (4,4) -> 2: .2...6...
force : (4,6) -> 6: ..3..6...
force : (4,4) -> 2: .........
force : (6,9) -> 2: 12.......
force : (5,8) -> 1: .........
force : (6,6) -> 1: 1.......9
force : (6,4) -> 9: 1.......9
force : (6,6) -> 1: .........
start : (7,9) -> 8: ...4.6.89
force : (7,8) -> 4: .234..7..
force : (3,9) -> 4: ...4...8.
force : (3,8) -> 8: ...4...8.
force : (3,9) -> 4: .........
force : (7,8) -> 4: .........
force : (7,9) -> 8: .........
start : (8,1) -> 1: 1.3...7.9
force : (8,1) -> 1: .........
start : (8,8) -> 7: .23...7..
force : (8,8) -> 7: .........
start : (8,9) -> 9: .....6..9
force : (8,9) -> 9: .........
start : (9,2) -> 6: .2...678.
force : (9,2) -> 6: .........
force : (8,2) -> 8: .2.....8.
force : (9,5) -> 8: .2...6.89
force : (9,5) -> 8: .........
force : (8,2) -> 8: .........
force : (1,9) -> 6: 1....6...
force : (9,9) -> 1: 1....6...
force : (9,9) -> 1: .........
start : (9,4) -> 5: ...45....
force : (2,6) -> 5: ....5...9
force : (2,4) -> 6: .....6...
force : (2,4) -> 6: .........
force : (8,6) -> 3: ..3......
force : (8,6) -> 3: .........
force : (9,4) -> 5: .........
force : (8,7) -> 5: .2..56...
force : (9,4) -> 5: .........
force : (8,7) -> 5: .........
force : (7,7) -> 6: .23..6...
force : (8,5) -> 6: .2...6...
force : (7,5) -> 2: .2...6..9
force : (8,5) -> 6: .........
force : (1,2) -> 2: .2....7..
force : (1,7) -> 1: 1........
force : (2,5) -> 1: 1.......9
force : (1,7) -> 1: .........
force : (1,7) -> 1: .........
force : (2,3) -> 9: .2......9
force : (1,5) -> 9: 1.......9
force : (2,3) -> 9: .........
force : (1,5) -> 9: .........
force : (2,5) -> 1: .........
force : (2,5) -> 1: .........
force : (1,1) -> 7: ......7..
force : (1,1) -> 7: .........
force : (7,2) -> 7: .2....7..
force : (1,2) -> 2: .........
force : (1,1) -> 7: .........
force : (9,6) -> 7: ......7.9
force : (9,6) -> 7: .........
force : (7,2) -> 7: .........
force : (7,6) -> 9: ........9
force : (7,6) -> 9: .........
force : (9,1) -> 9: ..3...7.9
force : (7,1) -> 3: ..3.....9
force : (1,1) -> 7: .........
force : (2,3) -> 9: .........
force : (9,1) -> 9: .........
force : (9,6) -> 7: .........
force : (1,2) -> 2: .........
force : (7,7) -> 6: .........
force : (7,7) -> 6: .........
force : (8,3) -> 2: .2.4.....
force : (8,3) -> 2: .........
force : (9,3) -> 4: ...4.....
force : (9,3) -> 4: .........
force : (8,4) -> 4: ...45....
force : (8,4) -> 4: .........
force : (9,3) -> 4: .........
force : (9,4) -> 5: .........
start : (9,6) -> 7: .........
start : (9,8) -> 2: .23......
force : (2,7) -> 2: .23......
force : (2,8) -> 3: .23......
force : (9,7) -> 3: .23......
force : (2,7) -> 2: .........
force : (2,8) -> 3: .........
force : (9,7) -> 3: .........
force : (9,8) -> 2: .........
force : (9,8) -> 2: .........
force : (2,7) -> 2: .........
Board State
723894156
849615237
651732984
418256793
296378415
537941862
375129648
182463579
964587321

I'm looking for feedback on Ruby style (e.g. "avoid and and or as they are confusing"), correct use of idioms and the standard library, code organization, etc. This is a Ruby learning exercise, so I want to avoid picking up bad habits early. Since I haven't implemented any brute-force or complex solving yet, performance isn't an issue.

-> require 'Test'
-> Sudoku::Test::easy
Initial Puzzle
..38.4.5.
84......7
6....29..
.18.5..9.
2.6.7.4.5
.3..4.86.
..51....8
1......79
.6.5.7.2.
start : (1,3) -> 3: 123456789
start : (1,4) -> 8: 12.456789
start : (1,6) -> 4: 12.4567.9
start : (1,8) -> 5: 12..567.9
start : (2,1) -> 8: 12.456789
start : (2,2) -> 4: 12.4567.9
start : (2,9) -> 7: 123..67.9
start : (3,1) -> 6: 12..567.9
start : (3,6) -> 2: 123.5.7.9
start : (3,7) -> 9: 1.34...89
start : (4,2) -> 1: 123.56789
start : (4,3) -> 8: .2.456789
start : (4,5) -> 5: .234567.9
start : (4,8) -> 9: .234.67.9
start : (5,1) -> 2: .2345年7月9日
start : (5,3) -> 6: ...4567.9
start : (5,5) -> 7: 1.34..789
force : (3,4) -> 7: 1.3.5.7..
force : (3,2) -> 5: ....5....
force : (3,3) -> 1: 1........
force : (3,5) -> 3: ..3......
start : (5,7) -> 4: 1.345..8.
force : (5,9) -> 5: 1.3.5..8.
start : (5,9) -> 5: .........
start : (6,2) -> 3: ..3...7.9
force : (5,2) -> 9: ........9
start : (6,5) -> 4: 12.4.6.89
force : (4,1) -> 4: ...4..7..
force : (4,7) -> 7: .23..67..
force : (6,5) -> 4: .........
start : (6,7) -> 8: 12...6.8.
force : (5,6) -> 8: 1.3....8.
force : (6,7) -> 8: .........
start : (6,8) -> 6: 12...6...
start : (7,3) -> 5: .2.45.7.9
force : (6,1) -> 5: ....5.7..
force : (6,3) -> 7: ....5.7..
force : (6,1) -> 5: .........
force : (7,3) -> 5: .........
start : (7,4) -> 1: 1234.6..9
force : (5,8) -> 1: 1.3......
force : (5,4) -> 3: 1.3......
force : (4,9) -> 3: .23......
force : (4,4) -> 2: .2...6...
force : (4,6) -> 6: ..3..6...
force : (4,4) -> 2: .........
force : (6,9) -> 2: 12.......
force : (5,8) -> 1: .........
force : (6,6) -> 1: 1.......9
force : (6,4) -> 9: 1.......9
force : (6,6) -> 1: .........
start : (7,9) -> 8: ...4.6.89
force : (7,8) -> 4: .234..7..
force : (3,9) -> 4: ...4...8.
force : (3,8) -> 8: ...4...8.
force : (3,9) -> 4: .........
force : (7,8) -> 4: .........
force : (7,9) -> 8: .........
start : (8,1) -> 1: 1.3...7.9
force : (8,1) -> 1: .........
start : (8,8) -> 7: .23...7..
force : (8,8) -> 7: .........
start : (8,9) -> 9: .....6..9
force : (8,9) -> 9: .........
start : (9,2) -> 6: .2...678.
force : (9,2) -> 6: .........
force : (8,2) -> 8: .2.....8.
force : (9,5) -> 8: .2...6.89
force : (9,5) -> 8: .........
force : (8,2) -> 8: .........
force : (1,9) -> 6: 1....6...
force : (9,9) -> 1: 1....6...
force : (9,9) -> 1: .........
start : (9,4) -> 5: ...45....
force : (2,6) -> 5: ....5...9
force : (2,4) -> 6: .....6...
force : (2,4) -> 6: .........
force : (8,6) -> 3: ..3......
force : (8,6) -> 3: .........
force : (9,4) -> 5: .........
force : (8,7) -> 5: .2..56...
force : (9,4) -> 5: .........
force : (8,7) -> 5: .........
force : (7,7) -> 6: .23..6...
force : (8,5) -> 6: .2...6...
force : (7,5) -> 2: .2...6..9
force : (8,5) -> 6: .........
force : (1,2) -> 2: .2....7..
force : (1,7) -> 1: 1........
force : (2,5) -> 1: 1.......9
force : (1,7) -> 1: .........
force : (1,7) -> 1: .........
force : (2,3) -> 9: .2......9
force : (1,5) -> 9: 1.......9
force : (2,3) -> 9: .........
force : (1,5) -> 9: .........
force : (2,5) -> 1: .........
force : (2,5) -> 1: .........
force : (1,1) -> 7: ......7..
force : (1,1) -> 7: .........
force : (7,2) -> 7: .2....7..
force : (1,2) -> 2: .........
force : (1,1) -> 7: .........
force : (9,6) -> 7: ......7.9
force : (9,6) -> 7: .........
force : (7,2) -> 7: .........
force : (7,6) -> 9: ........9
force : (7,6) -> 9: .........
force : (9,1) -> 9: ..3...7.9
force : (7,1) -> 3: ..3.....9
force : (1,1) -> 7: .........
force : (2,3) -> 9: .........
force : (9,1) -> 9: .........
force : (9,6) -> 7: .........
force : (1,2) -> 2: .........
force : (7,7) -> 6: .........
force : (7,7) -> 6: .........
force : (8,3) -> 2: .2.4.....
force : (8,3) -> 2: .........
force : (9,3) -> 4: ...4.....
force : (9,3) -> 4: .........
force : (8,4) -> 4: ...45....
force : (8,4) -> 4: .........
force : (9,3) -> 4: .........
force : (9,4) -> 5: .........
start : (9,6) -> 7: .........
start : (9,8) -> 2: .23......
force : (2,7) -> 2: .23......
force : (2,8) -> 3: .23......
force : (9,7) -> 3: .23......
force : (2,7) -> 2: .........
force : (2,8) -> 3: .........
force : (9,7) -> 3: .........
force : (9,8) -> 2: .........
force : (9,8) -> 2: .........
force : (2,7) -> 2: .........
Board State
723894156
849615237
651732984
418256793
296378415
537941862
375129648
182463579
964587321
explained the type of feedback I'm seeking
Source Link
David Harkness
  • 8.9k
  • 1
  • 27
  • 44

Update: I'm looking for feedback on Ruby style (e.g. "avoid and and or as they are confusing"), correct use of idioms and the standard library, code organization, etc. This is a Ruby learning exercise, so I want to avoid picking up bad habits early. Since I haven't implemented any brute-force or complex solving yet, performance isn't an issue.

Update: I'm looking for feedback on Ruby style (e.g. "avoid and and or as they are confusing"), correct use of idioms and the standard library, code organization, etc. This is a Ruby learning exercise, so I want to avoid picking up bad habits early. Since I haven't implemented any brute-force or complex solving yet, performance isn't an issue.

Tweeted twitter.com/#!/StackCodeReview/status/413708603368165376
Source Link
David Harkness
  • 8.9k
  • 1
  • 27
  • 44
Loading
lang-rb

AltStyle によって変換されたページ (->オリジナル) /