基本上大叔宅男不是很想放男团K-pop, XD
其实前面几篇很明显显示,Rudy用def来产生一个方法。
def 方法名称(参数)
#流程控制区, 解题实作区
end
put 方法名称(参数)
#参数可复数,但执行方法给的数目要一样。
先来看一个简单的范例
2.7.3 :108 > def k_pop(song)
2.7.3 :109 > "Let Dance! #{song}" #小衍生题''与" "的差异。
2.7.3 :110 > end #108-110为一个方法。
=> :k_pop #在Interactive Ruby Shell(irb)定义好後,用一个符号来记忆(记得符号与字串差异吗?)
2.7.3 :111 > k_pop("Hands up!") #与很多语言类似,方法名加参数执行方法
=> "Let Dance! Hands up!" #还记得执行方法都会有回传值这件事吗?
再稍稍加工一下
2.7.3 :112 > puts k_pop("Hands up!")
Let Dance! Hands up!
=> nil
2.7.3 :113 > p k_pop("Hands up!")
"Let Dance! Hands up!"
=> "Let Dance! Hands up!"
请於前篇一起服用,就也是我在分享定义方法时,要先分享p与puts差异。
当然也有可能,我比较笨,会一直乱加p与puts
好了定义方法跟流程控制已经学完了XD!我们先进入回圈。
但是在程序语言中,使用回圈语法有几件很重要的事。
设立终止条件
2.7.3 :120 > shake_it = 0
=> 0
2.7.3 :121 > while shake_it < 8 #这便是终止条件
2.7.3 :122 > puts "Rollin'" #没达到条件前要做什麽事
2.7.3 :123 > shake_it += 1 #每执行一次 + 1
2.7.3 :124 > end
Rollin'
Rollin'
Rollin'
Rollin'
Rollin'
Rollin'
Rollin'
Rollin'
# += ,其他语言不一定有的特殊写法, a = a + 1 可写作 a += 1。
# 如果还没离开irb请输入 puts shake_it 看看发生什麽事。
Ruby中有的回圈语法简化上面所说的。
2.7.3 :126 > 10.times do puts "Rollin'" end
Rollin'
Rollin'
Rollin'
Rollin'
Rollin'
Rollin'
Rollin'
Rollin'
Rollin'
Rollin'
=> 10
2.7.3 :127 > 10.times { puts "Rollin'" } # do end的简化写法,喜欢哪个用哪个,另外这个写法叫block。(讲完会蒸发的那一种衍生题)
Ruby中有些回圈语法会做复数以上的事情。
2.7.3 :128 > shake = ["head", "hand", "body"]
=> ["head", "hand", "body"]
2.7.3 :133 > shake.each {|part| puts "Shake your #{part}!"} #迭代(iteration)
Shake your head!
Shake your hand!
Shake your body!
=> ["head", "hand", "body"] #each方法用法可以再查询,很常用。可以把133行的puts拿掉,观察会发生何事。
2.7.3 :134 > shake.map {|part| "Shake your #{part}!"}
=> ["Shake your head!", "Shake your hand!", "Shake your body!"]
#把shake这个阵列,每一个资料变成"Shake your #{part}!",再变成一个新阵列。
我知道我很多细节还没说,但毕竟已经有很多很好的资料可以看到基础的部分,我还是以自己学习中,觉得要特别记得的心得作分享。这几天分享的部分,还请配合已经编写很清楚的龙哥-为你自己学Ruby on rails服用。(第五,六)
另外请有缘人查询以下语法的用法。
each_with_index
都是可以将资料包起後成为字串。
2.7.3 :136 > "K-POP!"
=> "K-POP!"
2.7.3 :137 > 'K-POP!'
=> "K-POP!"
2.7.3 :138 > "K-POP!".class
=> String
2.7.3 :139 > 'K-POP!'.class
=> String
但是" "中可以加入#{}这个, ' '不可以。
衍生资料:https://stackoverflow.com/questions/10869264/meaning-of-in-ruby
菜鸟我只记怎麽用,文章上面已经示范了
ok!今天收工!
<<: 用powershell 远端登入Microsoft 365
>>: 随身开机碟 lubuntu 启用 fcitx 呒虾米输入法的步骤
这篇文章是用 x86-64 的架构作为例子,因为多数人的电脑是用 x86-64 的架构 只要依照 在...
上一篇我们完成了wireframe的绘制,这次我们要将草稿跟库拉皮卡一样,没有办法下船更具现化一点,...
本文将於赛後同步刊登於笔者部落格 有兴趣学习更多 Kubernetes/DevOps/Linux 相...
传说中的 REST (表现层状态转换) 出现了!一个不太好解释的名词,但面试我还真的碰到了…初心者...
何谓提升(Hoisting)? 提升(Hoisting) 其实主要是为了厘清 JavaScript ...