2016-07-27 2 views
-1

그래서 저는 Ruby에 상당히 익숙하며 다른 곳에서도 매우 잘 대답 할 수 있습니다..txt 파일 정보를 RESTful API URL로 가져 오기 [Ruby]

나는 편안한 API 프레임 워크에 대한 모듈을 정의하고 있고 대부분의 일들이

내 코드는 다음이다 (매개 변수 전에) 실제 API 엔드 포인트에 .txt 파일에서 문자열을 얻으려고 노력에서 잘 떨어져 갔다 다음 "매개 변수"에

require 'rest-client' 

module Delete 

    def delete 

    file = File.open("ST.txt", "r") 
    sT = file.read, 

    file = File.open("cR.txt","r") 
    cR = file.read 
    begin 

     return RestClient.post({'https://testing.ixaris.com/paymentpartner/virtualcards/{cR}/delete'}, 
      { }, 
      {:A => sT,}) 
    rescue => e 
     return e.response 
    end 

    end 
end 

다음은 첫 번째 "ST.txt은"잘 작동하지만 엔드 포인트의 '{CR} "부분에"CR "문자열을 얻을 수없는 것.

도움을 주시면 대단히 감사하겠습니다.

+0

코드의 형식이 잘못되어 문법적으로 유효하지 않습니다. –

답변

0

나는 두 가지를 모두 시도 할 것이므로 어느 선이 해당하는지 잘 모르겠습니다. (그것은 단지 한 줄의 보증과 함께) 한 줄 파일의 경우

:

하나 개의 라인이 있기 때문에 괜찮 문자열로 파일의 전체 내용을 변환
cr = File.read('cR.txt') 

. 여러 파일의 경우

당신이 시도 할 수 있습니다 :

cr = 
File.open('cR.txt', 'r') do |f| 
    break unless f.each_line do |line| 
    break if line =~ /\d*/ # regex for matching any numbers or whatever you want to use to match with like ==,>,<,>=,<=,!= 
    end 
end 

또한, 당신이, 당신이 '돈 메소드 즉, if 문 경우의 중간에서 명시 적으로 반환해야하지 않는 한, 그래서 루비가 암시 적으로 모든 것을에서 반환합니다 모든 것을 되돌려 줄 필요가 없다.

file.read 또한 완료하면 file.close을 확인하십시오. 그렇지 않으면 가비지 수집기가 실행될 때까지 정리되지 않아 시스템 리소스가 낭비 될 수 있습니다. 이는 블록이 완료 될 때 자동으로 파일을 닫을 때 블록을 사용하여 열린 파일을 수행하는 이점입니다.

관련 문제