Jenkins에서 n 개의 항목 배열을 포함하는 json을 가져 오는 루비 코드가 있습니다. 내가 원하는 항목은 내가 너무루비는 특정 키의 해시/배열을 딥 검색 할 수 있습니까?
actions.each do |action|
if action["lastBuiltRevision"]
lastSuccessfulRev = action["lastBuiltRevision"]["SHA1"]
break
end
end
같은 배열을 통해 루프를 할 수 있습니다 알고 있지만 이들은 매우 투박하고 루비와 함께 작업 할 때 나는 보통 느끼는 마법없는 느낌 "lastBuiltRevision"
라는 키가 .
나는 약 1 주일 만에 땜질을 해왔다. 나는 이것을 더 쉽고 빠르게 만들기 위해 뭔가를 놓칠지도 모른다.
그런 것이 있습니까? 아니면 내가 할 수있는 수동 반복인가?
내가 가지처럼 뭔가를 바라고
lastSuccessfulRev = action.match("lastBuildRevision/SHA1")
... 하나도 존재하지 않는다면? –
그러면 nil이 올바르게 반환됩니까? 나는 이미 다른 목적을 위해 코드에서이 값을 검사하지 않고있다. – Weston
@Kronusdark, Enumerable # find는 일치하는 항목이 없으면'nil'을 반환하기 때문에 예외 'NoMethodError'가 발생합니다. – falsetru