현재 정확한 흐름을 결정하기 위해 case 문을 사용하고 있습니다. 그것은 다음과 같습니다튜플을 루비 해시로 전달
case os
when 'windows'
# If Windows - Call code for WinRM connection
when 'redhat'
# If Redhat - Call code for SSH connection
if env == 'pci'
# Do stuff for PCI
exec_pci
else
# Do stuff for non PCI
exec_non_pci
end
else
# Raise some exception
end
그 해시/사전에 값 (들)을 찾기 위해 하나의 키를 사용하지만 내가 그것을 튜플 전달할 수있는 조회 해시 테이블이 설정 가능하다 알아? 여기에 몬스터가 원래의 else
절입니다 my_hash[(os, env)]
하고 값을받을 것으로 예상 exec_pci
질문이 명확하지 않습니다. 루비에는 튜플이 없습니다. 당신이 작성한 튜플 구현에 대해 이야기하고 있습니까? 그렇다면 코드를 보여주십시오. 타사 튜플 라이브러리에 대해 이야기하고 있습니까? 그렇다면 어느 것입니까? 어쨌든, 루비는 라이브러리가 언어의 구문과 의미를 변경하는 것을 허용하지 않으므로'(os, env)'는 단순히 매개 변수 목록이나 인수 목록의 일부가 아닌 이상 불법 구문입니다. –
또한 예/아니오 질문은 "가능합니다"는 [너무] 적합하지 않습니다. 가능한 대답은 두 가지뿐입니다. "아니오"(귀하 또는 다른 사람에게 약간 도움이되지 않음) 또는 "예"(여전히 귀하 또는 다른 사람에게 약간 도움이되지 않음)입니다. –
루비는 그렇게 할 수 없습니다. 하지만 난 당신이 자신의 튜플 클래스를 사용자 정의 할 수 있다고 생각 다음 키로 튜플 객체를 사용합니다. – Daniel