[英]Ruby: Passing an array to starts_with?
我想檢查我的url是否以某些字符串開頭,然后將其保存到數據庫中。 字符串存儲在一個數組中,因為starts_with?
接受多個值,我想獲取starts_with?
所有數組值starts_with?
。
array = ["www.example.com/content1", "www.example.com/content2", "www.example.com/content3"]
save_url = url.starts_with?() #here I want to insert all array values, but how?
if save_url #I want to check if save_url is true so my entries are somewhat filtered
DBTable.create(url: url)
所以我的問題是如何將數組值傳遞給starts_with? 以及如何檢查save_url是否為true。 我不擅長Ruby中的數組和循環,所以任何幫助都值得贊賞!
您可以嘗試使用splat運算符( *
)來放置數組,如下所示:
url = 'www.example.com/content1/test.html'# => "www.example.com/content1/test.html"
array = ["www.example.com/content1", "www.example.com/content2", "www.example.com/content3"]
save_url = url.starts_with?(*array) #=> true
您可以按如下方式將URL數組傳遞給start_with嗎? 方法。
save_url = url.start_with?(*array)
start_with接受多個字符串作為參數,但不是多個字符串的數組我不認為。
你為什么不循環數組並在循環中調用start_with;
array.each do | valid_url |
save_url = url.starts_with? valid_url
return unless save_url
DBTable.create(url: url)
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.