3
A
답변
5
예. 당신의 혼란이 <foo> 33 </foo>
scala> <foo> 33 </foo> match { case <foo> { x } </foo> => 42 }
scala.MatchError: <foo> 33 </foo> (of class scala.xml.Elem)
에 일치하지 않는되어 들어오는 곳
scala> val x = 33
x: Int = 33
scala> val xml = <foo> { x } </foo>
xml: scala.xml.Elem = <foo> 33 </foo>
scala> xml match { case <foo> { x } </foo> => 42 }
res0: Int = 42
는 생각이 때문에 당신은 공간에 대한 추가 요소 전과 {}
을 한 후 {}
, 스칼라 삽입을 사용할 때 , 그래서 당신은 하나가 아닌 3 가지 요소를 얻습니다. 당신은 (패턴 매칭에 사용되는 것입니다) unapplySeq
를 호출하여이를 볼 수 있습니다
scala> scala.xml.Elem.unapplySeq(<foo> 33 </foo>)
res4: Option[(String, String, scala.xml.MetaData, scala.xml.NamespaceBinding, Seq[scala.xml.Node])] =
Some((null,foo,,,ArrayBuffer(33)))
scala> scala.xml.Elem.unapplySeq(<foo> { x } </foo>)
res5: Option[(String, String, scala.xml.MetaData, scala.xml.NamespaceBinding, Seq[scala.xml.Node])] =
Some((null,foo,,,ArrayBuffer(, 33, )))
공지 사항을 두 번째 예를 들어, 당신은 세 ArrayBuffer 요소, 첫 번째에 하나가 있어요. 따라서 패턴이 올바르게 일치하지 않습니다.
관련 문제
- 1. 부분 공백이있는 xml 읽기
- 2. scala.collection.script.Message에서 일치하는 스칼라 패턴
- 3. 매니페스트와 일치하는 스칼라 패턴
- 4. 공백이있는 스칼라 프로세스가 올바르게 작동하지 않습니다.
- 5. 공백이있는 Excel XML 테이블 머리글
- 6. 스칼라 xml 다시 쓰기 규칙 (또는 간단한 패턴 도움말)
- 7. 스칼라 패턴 일치 빠른 참조
- 8. 스칼라 패턴 매칭 컴파일러 경고
- 9. 스칼라 : XML 공백 제거?
- 10. 스칼라 - 파일에 XML 추가
- 11. 스칼라, XML 노드에
- 12. 스칼라 XML 동등 문제
- 13. 스칼라 내가처럼 보이는 패턴 일치를 수행하고자하는 패턴 또는
- 14. SQL XML 쿼리 패턴?
- 15. GWT xml 패턴
- 16. 스칼라 XML 성능 대 Java XML
- 17. 새로운 객체를 생성하기위한 스칼라 문자열의 템플릿 패턴
- 18. 기본 클래스에 일치하는 패턴 및 스칼라
- 19. 스칼라 패턴 적용을 통한 부분 적용 함수
- 20. 스칼라 specs2 수락 테스트 패턴 혼동
- 21. 케이스 클래스, 패턴 매칭 및 스칼라
- 22. 스칼라 : 패턴 일치를 위해 모호한 유형 확인
- 23. 스칼라 값을 검색하기위한 도메인 객체가없는 저장소 패턴
- 24. 스칼라 Regex 패턴 일치가 생성자에서 구현 됨
- 25. 스칼라 패턴 일치 및 형식 유추
- 26. 스칼라 문자열 패턴 모범 사례 일치
- 27. 스칼라 XML 지원은 어떻게 작동합니까?
- 28. 스칼라 -
- 29. 스칼라
- 30. 아이폰에서 XML 구문 분석을위한 패턴
맞아요, 고마워요! Elem.unapplySeq에 대해서도 알아두면 편리합니다. –