视频: Week 2, continued 2024
您可以创建一个方法在Ruby中绘制三角形。首先,想想这可能如何工作。您将绘制的三角形将看起来像是一个等腰三角形,其中两边的大小相同,底边会略微变小。
与矩形不同的是,每一行很容易格式化,对于三角形,您需要使每一行看起来不同。第一行将是三角形的顶部(尖端)。最后一行将是三角形的基础,并将是用户指定的宽度。
<! --1 - >看看你能不能弄清楚代码在这里做什么。
-
开始一个叫做三角形的新方法:
#这里是矩形方法def triangle的结尾(height,outside_letter,inside_letter)#三角形的代码将会在这里结束
请注意,对此方法内部的高度和宽度使用高度变量。
-
创建一个会重复高度时间的循环。把这个代码放在三角形方法里面:
1。到(高度)do | row | #绘制代码在下一步结束
-
对于三角形,您需要绘制 空白 (空白区域),每行不占据您绘制的整个宽度。当你绘制每一行时,你将会画出更少的空白。添加这行作为你的循环的第一行:
print“*(height - row)
这里的数学计算一个更小的空间数量,因为行数变大了(记住,你正在计数第一行在顶部,行将等于底部的高度)。
<! - 3 - > -
接下来,您必须处理第一行的情况,即第一行的顶部三角形:
if row == 1 puts“#{outside_letter * 2}”end
步骤4的代码将在步骤3之后立即执行。
-
通过添加一个elsif条件处理最后一个行的情况
如果row == 1将“#{outside_letter * 2}”放在行中== height puts outer_letter * height * 2 end
-
现在添加代码,处理所有中间行的稍微复杂的情况。如果row == 1将“#{outside_letter * 2}”设置为“elsif row == height puts outside_letter * height * 2 else middle = inside_letter”,则将使用else子句。 *(row - 2)print“#{outside_letter}#{middle}#{ins ide_letter}“puts”#{inside_letter}#{middle}#{outside_letter}“end
代码看起来有点奇怪。为什么既有印刷品又有印花税的声明?
是显示三角形的时候了。在代码文件的底部,在矩形方法调用之下,添加一个三角形方法调用:
-
triangle(height,outside_letter,inside_letter)
保存程序文件,切换到终端并运行程序。您应该看到如下所示的内容:
-
所使用的示例代码在三角形方法之前包含一个矩形方法,所以您会看到一个三角形上的矩形平衡。