&: and &. in Ruby

更新於 2022/07/02閱讀時間約 1 分鐘
直接來看範例吧

&:

&:將一組陣列中的元素轉換成字串
cats = [1, 2, 3, 4]
當使用:
cats.map do |x| x.to_s end
cats.map {|x| x.to_s }
會得到:
["1", "2", "3", "4"]
其中的block以及block變數可以用&:代替,然後:後面接續方法:
cats.map(&:to_s)

&.

範例1
a = []
x = a.nil?
puts x => true;
a = []
x = a&.nil?
puts x => 不會執行puts

加入&.會判斷receiver如果是nil,就不會執行puts。
範例2
@candidate&.create
如果 @candidate為nil,就不會執行create方法,如此便不會出現undefined method `[]' for nil:NilClass的錯誤訊息。
    avatar-img
    1會員
    13內容數
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    Mike的沙龍 的其他內容
      一切的重點就是在利用文字排版與語言解構使程式碼more「readable」   範例如下列網址,有興趣深入了解可進去觀看
    1. p1 = Product.new(name:"衛生紙") 接著執行 p1.stores = s1 卻出現 undefined method "each"的錯誤訊息。(如下圖一) 解決方法: 強制給實體掛上store_id 接下來處理Product
    在第一次建立rails專案時,通常都會遇到不少問題,像我是使用windows系統,所以也經歷了一些麻煩。如果各位第一次建立rails專案就可以看到下圖綠色字體的成功字樣,那真的如天選之人般幸運阿~ 如果你跟我一樣注定要經歷windows系統的苦痛,就請繼續看下去吧QQ
    public: 完全公開的方法,內外皆可存取。 private: 對外限制,不能有特定的receiver,故僅能在類別方法裡使用,且不能有receiver。 protected : 對外有限制,不能有receiver,但在class裡面則可有receiver也可以沒有receiver。
      一切的重點就是在利用文字排版與語言解構使程式碼more「readable」   範例如下列網址,有興趣深入了解可進去觀看
    1. p1 = Product.new(name:"衛生紙") 接著執行 p1.stores = s1 卻出現 undefined method "each"的錯誤訊息。(如下圖一) 解決方法: 強制給實體掛上store_id 接下來處理Product
    在第一次建立rails專案時,通常都會遇到不少問題,像我是使用windows系統,所以也經歷了一些麻煩。如果各位第一次建立rails專案就可以看到下圖綠色字體的成功字樣,那真的如天選之人般幸運阿~ 如果你跟我一樣注定要經歷windows系統的苦痛,就請繼續看下去吧QQ
    public: 完全公開的方法,內外皆可存取。 private: 對外限制,不能有特定的receiver,故僅能在類別方法裡使用,且不能有receiver。 protected : 對外有限制,不能有receiver,但在class裡面則可有receiver也可以沒有receiver。
    你可能也想看
    Google News 追蹤
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    Thumbnail
    The History and Sovereignty of the South China Sea is an authoritative work on the historical changes and sovereignty issues in the South China Sea. I
    Thumbnail
    In the technological landscape, Artificial Intelligence (AI) and Machine Learning (ML) have become pivotal in revolutionizing various sectors...
    Thumbnail
    In the world of education, the integration of digital technology is no longer an innovation but a necessity.
    Thumbnail
    In a business environment increasingly centered around User Experience (UX), understanding and implementing effective UX design is crucial.
    Tensions in Myanmar continue to be in the global spotlight. The region has long been plagued by civil war, and different ethnic armed groups have clas
    Thumbnail
    最近發現還有很多朋友在看我跟Wei的故事,讓我十分開心,不過有很多事情記不清了,所以就先寫寫我們的日常吧!如果對我們的認識過程還有想知道的事情的話,都可以留言發問哦!如果需要的話,我會用一篇文章來回答。
    Thumbnail
    講述在不同環境下長大的男女主角,兩人都在追尋夢想的路上遇到了阻礙,一直找不到辦法解決,只能過一天算一天。某天,他們偶然在一間漢堡店裡相遇,最後決定為了各自的夢想去利用彼此。
    經過了三個月的奮鬥後 Jenny迎來第一次同事邀約的出遊 開開心心一早吃飽後就蹦蹦跳跳出門
    Thumbnail
    及:象形似「手趨向人」,象形字爲「人」與「手形」的組合,手形後來變化爲「又」,本意或與捏塑人形雕塑或複製人形有關,故引申出 and、和、又、加、與等意義,和「與」作爲連接詞時用字相似,也可能與 English 的 statue (意指塑像或雕像)、sculpture 相關,.............
    Thumbnail
    週二21:00-23:00首播、 週六22:00-00:00重播(CST)。 FM98.1 News98電台。www.news98.com.tw 點選「線上收聽」鏈結即可。 亦可利用 hiChannel 收聽。(小秘密:週六22:00重播有bonus track喔。) 1966年初,一首瞞著原唱者
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    Thumbnail
    The History and Sovereignty of the South China Sea is an authoritative work on the historical changes and sovereignty issues in the South China Sea. I
    Thumbnail
    In the technological landscape, Artificial Intelligence (AI) and Machine Learning (ML) have become pivotal in revolutionizing various sectors...
    Thumbnail
    In the world of education, the integration of digital technology is no longer an innovation but a necessity.
    Thumbnail
    In a business environment increasingly centered around User Experience (UX), understanding and implementing effective UX design is crucial.
    Tensions in Myanmar continue to be in the global spotlight. The region has long been plagued by civil war, and different ethnic armed groups have clas
    Thumbnail
    最近發現還有很多朋友在看我跟Wei的故事,讓我十分開心,不過有很多事情記不清了,所以就先寫寫我們的日常吧!如果對我們的認識過程還有想知道的事情的話,都可以留言發問哦!如果需要的話,我會用一篇文章來回答。
    Thumbnail
    講述在不同環境下長大的男女主角,兩人都在追尋夢想的路上遇到了阻礙,一直找不到辦法解決,只能過一天算一天。某天,他們偶然在一間漢堡店裡相遇,最後決定為了各自的夢想去利用彼此。
    經過了三個月的奮鬥後 Jenny迎來第一次同事邀約的出遊 開開心心一早吃飽後就蹦蹦跳跳出門
    Thumbnail
    及:象形似「手趨向人」,象形字爲「人」與「手形」的組合,手形後來變化爲「又」,本意或與捏塑人形雕塑或複製人形有關,故引申出 and、和、又、加、與等意義,和「與」作爲連接詞時用字相似,也可能與 English 的 statue (意指塑像或雕像)、sculpture 相關,.............
    Thumbnail
    週二21:00-23:00首播、 週六22:00-00:00重播(CST)。 FM98.1 News98電台。www.news98.com.tw 點選「線上收聽」鏈結即可。 亦可利用 hiChannel 收聽。(小秘密:週六22:00重播有bonus track喔。) 1966年初,一首瞞著原唱者