我想返回數組的第一個和最後一個元素。如何顯示數組的第一個元素和最後一個元素?
def first_and_last(a)
a.first
a.last
end
但它只顯示最後一個元素,並且當我加上它時,它只是添加元素。我希望它能打印出這樣的內容[1,3]。有什麼建議麼?
我想返回數組的第一個和最後一個元素。如何顯示數組的第一個元素和最後一個元素?
def first_and_last(a)
a.first
a.last
end
但它只顯示最後一個元素,並且當我加上它時,它只是添加元素。我希望它能打印出這樣的內容[1,3]。有什麼建議麼?
def first_and_last(a)
return a.first, a.last
end
或
def first_and_last(a)
return a[0], a[-1]
end
它看起來像你想創建它們是第一個和最後的說法,分別爲兩個元素的數組:
def first_and_last(a)
[a.first, a.last]
end
first_and_last([1,2,3]) # => [1, 3]
first_and_last(1..100) # => [1, 100]
另一種方式:
['cat', 'dog', 'pig'].values_at(0,-1)
#=> ["cat", "pig"]
對於1和0長度的數組,可能會返回重複項或雙精度nil,否則,直接返回。 – tadman
def first_and_last(a)
return [a.first, a.last]
end
在你的代碼中,如果你沒有返回值,那麼你不會在ruby中返回任何值,那麼執行後的最後一行會自動返回。所以,你需要返回類似的Abobe
如果您使用數組,集,ActiveRecord的,或者一些其他集合,那麼你應該做到以下幾點:
def first_and_last(collection)
[ collection.first, collection.last ]
end
注:沒有必要的回報關鍵字,因爲Ruby方法中的最後執行的語句是返回給方法的調用者的。接下來,參數給你的方法應該是意圖揭示。也就是說,其他人應該很容易理解它是什麼。在這種情況下,它是一個集合(即陣列),其對第一個和最後的消息作出響應。
不同的思考和代碼很好,
-Conrad
注:'返回X,y'是 '魔' 做'返回[X,Y]'。 – user2864740
您可以忽略回電。 '返回x,y'可以寫成'x,y' – Santhosh
@Santhosh我不這麼認爲,你測試了嗎? – pangpang