我感覺好像我接近一個解決方案,並且一直在修補它作爲一個newb一段時間。出於某種原因,爲什麼我的"\n"
在輸出「下一行」時不會消失,並且輸出有不需要的空白區域?使用Ruby創建一個棋盤,「 n」不會消失
任務:寫一個函數,它需要一個代表花紋板尺寸的參數。董事會將永遠是正方形,所以5意味着你將需要一個5x5板。
黑色方塊將用unicode白色方塊表示,而亮方塊將用unicode黑色方塊表示(相反的顏色可確保在代碼大戰的黑色背景下黑板不會顛倒)。它應該返回一個棋盤的字符串,並在每個方塊之間留出一個空間,並考慮新的線條。
偶數應該返回一個以黑色方塊開始的棋盤。奇數應該返回一個以淺色方塊開始的棋盤。
輸入期望是一個至少爲2的整數,否則返回false(Haskell中沒有)。
我靠近,這裏是我到目前爲止有:
def checkered_board(dimension)
black = "\u25A1 "
white = "\u25A0 "
checkboard = nil
checker_array = []
if dimension < 2 or dimension.is_a? String
return false
else
count = dimension
while count <= dimension && count > 0
if count % 2 == 0
checkboard = ("\u25A1 \u25A0" + "\n")
checker_array << checkboard
count -= 1
else
checkboard = ("\u25A0 \u25A1" + "\n")
checker_array << checkboard
count -= 1
end
end
end
checkboard = checker_array.join(" ")
p checkboard
end
這裏是TDD規格:
Test.assert_equals(checkered_board(0), false)
Test.assert_equals(checkered_board(2), "\u25A1 \u25A0\n\u25A0 \u25A1")
注意:隱藏的規格表明它應該false
如果dimension
迴應不是一個整數。 .is_a? String
和.is_a? Integer
也不適用於我。
輸出出現像這樣,並沒有出現連:
□ ■
■ □
感謝任何及所有幫助:)。
使用'puts'而不是'p'來打印。 –
請明確說明問題。 – mudasobwa
@MladenJablanović謝謝,這確實有幫助。然而,我的輸出是不平衡的,好奇的原因呢?我編輯了我的帖子以顯示我的輸出。 – DustinRW