2017-11-18 17 views
1

sinatra에서 아래 코드와 동등한 작업을 수행하려면 어떻게해야합니까? - 웹 페이지에 구문을 n 번 출력 하시겠습니까?sinatra에서 n 번 문구를 출력하는 방법

get "/say/:number/:phrase" do 
    params[:number].to_i.times do 
    puts params[:phrase] 
    end 
end 

답변

1

Sinatra에서 반환 값은 브라우저에 반환되는 값입니다. puts을 사용하고 있기 때문에 콘솔에 인쇄 중이며 times은 블록 결과가 아닌 값을 반환합니다.

get "/say/:number/:phrase" do 
    phrase * number.to_i 
end 

라는 문구 (예를 들어 upcase)에 추가 처리를 수행 할 경우

, 당신은 문자열을 구축 할 수 있습니다 : 단순히 phrase number 시간을 반환하는 가장 쉬운 방법은이 같은 것입니다.

get "/say/:number/:phrase" do 
    result = "" 
    number.to_i.times do |i| 
    result += phrase.upcase 
    end 
    result 
end  
+1

감사! Re'puts : 내 코드는 내가 원하는 것의 예일 뿐이므로 나는 웹 페이지에'puts '할 수 없다는 것을 알고있다. :) –