在處理字串( string ) 和陣列( array )之間轉換最常用到的就是 join 和 split 兩個方法。
用於將陣列( array )中的元素( element )轉成字串( string ),
[ "a", "b", "c" ].join
=> "abc"
[ "a", "b", "c"…
在 Ruby on Rails 學習和實作專案的過程中,發現了很多功能相似卻又分不清差異的方法。就好比 nil?、 empty? 與 blank? 或 present? 、 any?與 exists? 。趁這個機會好好來搞懂之間差異吧!
nil?
empty?
blank?
present?
any?
exists?
合併兩個 hash , 我們可以透過 merge 這個 Ruby method 來實現。
定義如下:
hash.merge(other_hash)hash.merge(other_hash) { |key, oldval, newval| block }
合併後回傳的新 hash ,包含了原 hash 和 other_hash 的內容,但是重寫了原 hash 中與 other_hash 有著相同 key 的 value ,新的 value 為…
6/26 ( 二 ) 報到後,轉戰軟體工程師工作後的第一個禮拜過完了。從半導體領域轉戰影音廣告領域,從硬體成功轉戰軟體,新工作內容及所屬產業與過去截然不同,而 ALPHAcamp 「大航道」課程告一段落後,也透過工作開始了另一段學習旅程,要學的內容更多更廣。
WEEK01 工作內容主要有三個重點,一個是電腦開發環境的建置、AngularJS 1.X 的學習及影音廣告領域初探。
開發環境建置
今天在寫身分證認證時,需要將兩個長度相同 array 中的值相乘,上網查到了 zip(*args) 這個方法。
zip(*args)
使用 .zip() 將案例中兩個長度相同的 array 轉換成一個 array
.zip()
a = [1, 2, 3]b = [4, 5, 6]a.zip(b) # => [[1,4], [2,5], [3,6]]
透過 map 相乘
map
a = [1, 2, 3]b = [4…
a = [1, 2, 3]b = [4
工作接觸到的專案,蠻常看到使用 try 方法的,所以來研究一下。
try
只要學習 Ruby on Rails 的過程有遇到錯誤訊息,應該都對 NoMethodError: undefined method `XXXXXXX' for nil:NilClass 這類的錯誤不陌生。所以對 nil 問題所造成的錯誤和困擾,我們可以使用 try 來克服。
NoMethodError: undefined method `XXXXXXX' for nil:NilClass
nil
引用 API dock 的案例來做延伸解釋:
@person # NilClass=>…
繼上一篇,得知如何透過 zip(*args) 將兩個 array 轉換成同一個 array 後,還需要將這一個 array 中的元素相加。
透過 reduce 將 array 內元素相加
reduce
a = [1, 2, 3]b = [4, 5, 6]a.zip(b).map { | x, y| x * y }.reduce(0, :+) # => 32