簡體   English   中英

Ruby:將數組傳遞給starts_with?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM