Re:Find the Bug in my Fizz Buzz Interview (2:47 video)
by AshFurrow on Thursday January 19, 2012 @11:25AM
(#3485130)
You're checking for a null local variable value in the third conditional, but appending to that same variable in the first two, which would either cause a runtime error in most languages or never pass the third conditional.
Re:Find the Bug in my Fizz Buzz Interview (2:47 video)
by extension on Thursday January 19, 2012 @12:20PM
(#3485449)
In Ruby, for example, you could append a string to nil by interpolating the nil into a string literal, or various other ways. Seeing as he didn't specify the language, what the variable was initialized to, or what exactly "append" means, we can only assume that these imaginary things behave as intended.
Re:Find the Bug in my Fizz Buzz Interview (2:47 video)
by waffle_ss on Thursday January 19, 2012 @12:34PM
(#3485535)
This is my conclusion as well. To wit, an approximate translation of his method into Ruby:
fizzbuzz = (1..100).to_a.map do |i|
result = "" # 1:23 initialize a variable
result += "Fizz" if i % 3 == 0
result += "Buzz" if i % 5 == 0
result = i.to_s if result.nil?
result
end
The corrected solution would be to change `result.nil?` to `result.empty?`, i.e. checking for "empty string" instead of "null".
Re:Find the Bug in my Fizz Buzz Interview (2:47 video)
by denzil_correa on Monday January 23, 2012 @03:46PM
(#3502059)
Well, that would depend on the print statement. Generally, all of them have new lines. Even if they don't you would have to generate new lines appropriately otherwise the next number would print right next to Fizz.
PS : My assumption is that you need to print each number or Fizz or Buzz or FizzBuzz in a separate line.
Forcing anyone to do a coding exercise in their head is ridiculous.
He goes on to append strings to this variable which would lead me to believe it has some value that you can append to.
This would make the third conditional where he checks for null to fail, he should check for an empty string.
He doesn't ever print out result either
PS : My assumption is that you need to print each number or Fizz or Buzz or FizzBuzz in a separate line.