타사 웹 서비스를 사용할 때 배열을 반복하여 요청해야합니다. 변수라는 용어를 사용하지 않으면이 코드가 작동합니다.Ruby에서 특정 문자열 형식을 삽입합니다.
top_5 = get_top_searches[0..4]
counts = []
top_5.each do |term|
current_count = @client.request(
'segmentation',
event: "Performed search",
from_date: (Date.today - 30.days).strftime("%Y-%-m-%-d"),
to_date: Date.today.strftime("%Y-%-m-%-d"),
where: 'properties["keywords"] == "dogs"'
)
counts << [term, current_count]
end
counts
그러나 루프 내 변수는 "dogs"
이어야합니다. 다음은 이 아닌이 작동하는 문자열 목록입니다. ([ "키워드"]는 큰 따옴표로 묶어야 함)
'properties["keywords"] == "#{term}"'
"properties[\"keywords\"] == #{term}"
"properties['keywords'] == #{term}"
"'properties["keywords"] == #{term}'"
"'properties[\"keywords\"] == #{term}'"
나는 아이디어가 없습니다. [ "keywords"]를 큰 따옴표로 묶고, 변수를 보간하고, 가장 바깥 쪽 따옴표가 단일이되도록이 문자열을 포맷 할 수 있습니까?
두 번째 옵션의 속성 [\ "keywords \"] == # {term} "'에 문제가 있습니까? 보간 된 변수가 따옴표로 묶여야만합니까? 즉, 속성 [\ "keywords \"] == \ "# {term} \" "'? – Kimball
안녕하세요! 그것은 실제로 효과가 있었다! 변수는 이스케이프 된 따옴표로 묶어야합니다. – cheeseandpepper
Ruby에서 작은 따옴표로는 보간이 작동하지 않는다는 점을 제외하고는 첫 번째 옵션이 사용되었습니다. – Kimball