新手问题 Ruby 如何用 for 循环打印一个三角形?

easonlovejiven · 2014年11月11日 · 最后由 wwwicbd 回复于 2018年04月22日 · 2796 次阅读

用 for 循环打印一个三角形

是面试题么?

机智的少年

triangle = <<EOF
*
* *
*   *
* * * *
EOF

for line in triangle.lines
  puts line
end

#4 楼 @luikore 还是你的简洁……

#4 楼 @luikore 简洁到极致答案...

7 楼 已删除

#7 楼 @libuchao 没有用到 for 循环。

#5 楼 @Rei 嗯, 这样做的优点是可以打出矢量图...

#8 楼 @Rei 嗯,没看清楚

#4 楼 @luikore 我突然觉得我们可能对楼主的题目理解有分歧

for triangle in %w["一个三角形"]
  puts triangle
end

面试官布置完问题把头回国去,楼主默默掏出了手机

#14 楼 @luikore 这次真的给跪了,绝了!

楼上楼下的能别逗吗?

@luikore 果然是大神 :plus1:

max_bottom_edge = (ARGV[0].chomp.to_i rescue 3)

# only support for odd number
if max_bottom_edge & 1 == 0
  max_bottom_edge += 1
end

level = (max_bottom_edge +1) / 2

for i in 1..level
  # spaces
  (level-i).times do
    print(" ")
  end

  (i*2-1).times do
    print("*")
  end

  print("\n")
end

=begin
$ ruby main.rb 29
              *
             ***
            *****
           *******
          *********
         ***********
        *************
       ***************
      *****************
     *******************
    *********************
   ***********************
  *************************
 ***************************
*****************************
=end
需要 登录 后方可回复, 如果你还没有账号请 注册新账号