iT邦幫忙

2022 iThome 鐵人賽

DAY 8
0

Day08-[Ruby]差一點就差很大.print puts p 的差別(part II)

接續上文,
利用這三個不同特性,
我突發奇想,
寫出一題不專業但有趣的答案。

不專業的有趣應用

我們先看看題目:

  • 請使用迴圈的方式,在畫面上印出以下結果:
    *
    **
    ***
    ****
    *****

好的,你可以用自己的方法解出答案後,
先來看看專業老師的答案

1.upto(5) do |n|
  puts "*" * n
end

對,就是這麼簡潔美麗,
我也是很氣我自己怎麼想不到。

那麼,來看看我的寫法,希望不要辣到你的眼睛

def print_startree (number)
  x = 0
  while x < number
    x.times { print "*" }
    puts "*"
    x += 1
  end
end  

print_startree(5)

好啦,你可能會覺得很奇怪
但當時我只是想用我能想到的方式解題
正想破頭時,
突然想到print不能換行,puts可以,
我的思路是,
第一行print 0顆* 和 puts 1顆* 並換行,
第二行print 1顆* 和 puts 1顆* 並換行,
...以此類推。

結論

語言世界真的有許多有趣的地方,
很多相似卻又不同的用法可以蹦出不同火花,
一起享受這個語言世界吧!
我們明天見!

tags: Ruby print puts p

上一篇
Day07-[Ruby]差一點就差很大.print puts p 的差別(part I)
下一篇
Day09-[Ruby]原來可以這樣寫?幾個簡單例子看到Ruby的簡潔美麗(part I)
系列文
從零開始的工程師轉職之路.新手學Ruby / Ruby on Rails遇到的問題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言