문제 1) YQL에서 scala로 통화를 추출하려고합니다. 아래에 언급 된 getXML은 나머지 URL을 가져와 xml 노드를 반환합니다. 내 주 코드에서 10000 밀리 초의 수면 후 실패가 발생하면 getXML을 다시 호출하고 싶습니다.scala에서 try 재귀 호출
오류 코드 내에 getXML을 만들려고 할 때 어떻게 컴파일 할 수 있는지 조언 해 주시면 컴파일되지 않습니다.
def getXML(url: String): Try[scala.xml.Node] =
{
Try(XML.loadString(Source.fromURL(new URL(url)).mkString))
}
val nodes = getXML(ccyurl) match {
case Success(node) => node
case Failure(f) => {
Thread.sleep(10000)
/****/
}
문제 2) 하나 더 질문드립니다. 나는 프로그래밍에 익숙하지도 않고 너무나 비틀 거리는 스칼라도있다. 나는
def exchangelookup(s :String): Try[String] = Try(exchange_currency_map(s))
그것의 사용은 아래에 언급처럼오고 함수를 정의하고이 배열의 항목 4입니다.
exchangelookup(Cols(0).takeRight(3)) match {case Success(x) => x
case Failure(x) => FileParserlogger.error(x.getMessage()) } , //ExchangeCurrency 4
하지만 난 정적 (4) 내가 점점 오전 같은 다른 배열이 사용하고 때 "형식이 일치, 발견 : 모든 필요한 : 문자열"사전에
val fxconversion = fxconvertor(getexchange(nodes,static(10)),getexchange(nodes, exchange_to_real_ccy_map.getOrElse(static(4),static(4))))
감사합니다.
감사합니다. m-z. 이 함수의 출력은 Try입니다. 내가 패턴 일치를해야만 성공을 얻을 수있어서 scala.xml.Node를 얻을 수 있습니까? 이 함수의 출력이 scala.xml을 받아들이는 다른 함수의 입력으로 사용되기 때문에 묻습니다. 노드 – user3341078
예,이 함수의 반환 값을 패턴 일치 또는'map '해야합니다. 실패 가능성. –
또 하나 마지막 질문. 나는 프로그래밍에 익숙하지도 않고 너무나 비틀 거리는 스칼라도있다. – user3341078