나는 내 응용 프로그램 컨트롤러레일이 출력됩니까?
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
def get_mkts(all_idx)
mkts = Set.new
all_idx.each do |idx|
m = decode_index_names(idx)
puts m[:mkt]
mkts.add(m[:mkt])
end
end
def decode_index_names(name)
mkt = name.split(/[0-9]/)[0]
type = get_first_num(mkt);
{:mkt => mkt,:type => type}
end
def get_first_num(str)
str[/\d+/]
end
end
에 다음 코드를 가지고 그리고 난 같은 문자열 배열 입력 해요 : 텍스트를 추출,
["USEQUITIES2tv10", "USEQUITIES2tv15", "USEQUITIES2tv20", "NONUSEQUITIES2tv5", "NONUSEQUITIES2tv10", "NONUSEQUITIES2tv15", "NONUSEQUITIES2tv20", "BONDS2tv5", "BONDS2tv10", "BONDS2tv15", "BONDS2tv20"
, "ES1", "ES2tv5", "ES2tv10", "ES2tv15", "ES2tv20", "NQ1", "NQ2tv5", "NQ2tv10", "NQ2tv15", "USBONDS2tv5", "USBONDS2tv10", "USBONDS2tv15", "USBONDS2tv20", "GERMANBONDS2tv5", "GERMANBONDS2tv10", "GERMANB
ONDS2tv15", "GERMANBONDS2tv20", "EQUITIESnBONDS2tv5", "EQUITIESnBONDS2tv10", "EQUITIESnBONDS2tv15", "EQUITIESnBONDS2tv20", "COMMODITIES2tv5", "COMMODITIES2tv10", "COMMODITIES2tv15", "COMMODITIES2tv20",
"CURRENCIES2tv5"]
메소드 get_mkts을 통해 루프 예상됩니다 첫 번째 숫자를 tot하고 고유 한 기호 배열을 만듭니다 (그래서 Set을 사용했습니다). 그러나 원본 입력 이외의 다른 출력 방법을 얻을 수 없습니다. 레일 콘솔에서 "m [: mkt] put"의 출력에서 각 루프가 올바른 값을 얻는 것을 볼 수 있습니다. 입력 값 대신 집합 mkts를 반환하는 방법을 모르겠습니다. 어떤 아이디어?
확인 아 그 시간의 낭비 덕분에 롤 – jhlu87