JoshCheek / seeing_is_believing

Displays the results of every line of code in your file
1.3k stars 54 forks source link

Don't align values if there's too much whitespace #89

Closed JoshCheek closed 7 years ago

JoshCheek commented 7 years ago

It looks like this each_cons gets run only once, but it's run twice, it's just that the second output is way off the RHS of the screen.

$stdin =  DATA

commands = [["cat"], ["tr", "a", "A"], ["tr", "c", "C"]]
pipeline = commands.map do |command|
  {command: command, stdin: nil, stdout: nil, stderr: $stderr }
end
pipeline[0][:stdin]   = $stdin
pipeline[-1][:stdout] = $stdout

pipeline.each_cons(2) do |(left, right)|
  1 # => 1,                                                                                                                                                                                          1
  left  # => {:command=>["cat"], :stdin=>#<File:/var/folders/7g/mbft22555w3_2nqs_h1kbglw0000gn/T/seeing_is_believing_temp_dir20161210-34474-12jx18b/program.rb>, :stdout=>nil, :stderr=>#<IO:<STDERR>>}, {:command=>["tr", "a", "A"], :stdin=>nil, :stdout=>nil, :stderr=>#<IO:<STDERR>>}
  right # => {:command=>["tr", "a", "A"], :stdin=>nil, :stdout=>nil, :stderr=>#<IO:<STDERR>>},                                                                                                           {:command=>["tr", "c", "C"], :stdin=>nil, :stdout=>#<IO:<STDOUT>>, :stderr=>#<IO:<STDERR>>}
end

pipeline
# => [{:command=>["cat"],
#      :stdin=>
#       #<File:/var/folders/7g/mbft22555w3_2nqs_h1kbglw0000gn/T/seeing_is_believing_temp_dir20161210-34474-12jx18b/program.rb>,
#      :stdout=>nil,
#      :stderr=>#<IO:<STDERR>>},
#     {:command=>["tr", "a", "A"],
#      :stdin=>nil,
#      :stdout=>nil,
#      :stderr=>#<IO:<STDERR>>},
#     {:command=>["tr", "c", "C"],
#      :stdin=>nil,
#      :stdout=>#<IO:<STDOUT>>,
#      :stderr=>#<IO:<STDERR>>}]

__END__
aaa
bbb
ccc
ckib16 commented 7 years ago

Moved to Wiki under https://github.com/JoshCheek/seeing_is_believing/wiki/Potential-future-features