처음으로 스택 오버플로 게시. 나는 간결하고 요점을 지키기로되어 있지만, 처음에는 나를 배경으로 나를 기쁘게 해준다. 저는 C와 Visual Basic에서 16 년 동안 프로그래밍을 해왔지만, 과학자로서의 저의 작업을 지원하는 데만 시간을 할애하고 있습니다. 1 년 전에 루비를 배우기 시작했고 정말로 그것을 즐긴다. 데이터를 처리하는 프로그램을 작성 중입니다. 이것은 데이터베이스가 아닌 폴더와 파일에서 작동합니다. 내가 갇힐 때마다, 나는 항상 여기에 해결책을 찾을 수있다. 이 시간은 다릅니다. 그래서 요점 :하이라이트 루비 보석. 런타임에 다양한 메뉴 선택 항목을 제공하는 방법
나는 다양한 메뉴 항목을 가진 메뉴를 표시하기 위해 루비에서 하이 라인 보석을 사용하고 싶다. 기본적으로 사용자가 디렉토리를 선택하기를 원합니다. 상위 디렉토리에는 여러 개의 디렉토리가있을 수 있습니다. 다음과 같이 내 코드는 다음과 같습니다
@allArchiveDirs = Dir.entries(@dirArchive).select {|entry| File.directory? File.join(@dirArchive,entry) and !(entry =='.' || entry == '..') }
p @allArchiveDirs
choose do |menu|
menu.prompt = 'Please choose a project to access:'
temp = @allArchiveDirs.map &:to_sym
# todo here. Cannot get temp into correct format for choices call.
temp = temp.map{|x| x.inspect}.join(', ')
p temp
menu.choices(:old1, :old5) do |chosen|
puts "Item chosen: #{chosen}"
end
end
을 괄호 안의 menu.choices 내가 평소 온도가 전화를 들어,하지만 현재 내가 가진 : old1 : 내 자신의 디버깅 목적이나 내가 오류를 얻으려면위한 old5.
출력은 :
[ "deletemetest", "old2", "old3", "old4", "TestData 사용", "testy123", "tsty"]
"deletemetest : old2 : old3 : old4 : TestData 사용 : testy123 : tsty "
- old1
- old5
가 프로젝트를 선택하십시오 액세스 :
기호가 문자열 인 것 같습니다 (주변의 인용 부호로 인해). 이것들을 제거 할 수 있으면 임시 메뉴를 menu.choice 호출의 올바른 형식으로 가져올 수 있습니다.
는 당신이 필요 플랫 운영자에게
당신이 우리에게'@allArchiveDirs의 샘플 출력을 제공 할 수 있습니다 '? – Anthony
코드 p @allArchiveDirs에 줄이 있습니다. 따라서 출력은 게시물에 있습니다. "출력은 다음과 같습니다."다음의 첫 번째 줄입니다. 나중에 하나의 문자열을 만들기 위해 심볼로 매핑되는 문자열 배열입니다. – Juz0