我无法使用伴随对象创建表示XML解析文档的类.
这是该类的代码:
package models
import javax.xml.bind.Element
import scala.xml.Elem
import javax.xml.validation.SchemaFactory
import javax.xml.transform.stream.StreamSource
trait MyXML {
case class ElémentXML(code_xml: scala.xml.Elem) {
def validate: Boolean = {
try ({
val schemaLang = "http://www.w3.org/2001/XMLSchema"
val factory = SchemaFactory.newInstance(schemaLang)
val schema = factory.newSchema(new StreamSource("Sites_types_libelles.xsd"))
val validator = schema.newValidator()
validator.validate(new StreamSource(code_xml.toString))
true
}) catch {
case t:Throwable => false
}
}
}
object ElémentXML {
def apply(fichier: String) {
try{
val xml_chargé = xml.XML.loadFile(fichier)
Some(new ElémentXML(xml_chargé))
}catch{
case e:Throwable => None
}
}
}
} …
Run Code Online (Sandbox Code Playgroud) 假设我写了一个纯函数f
,其签名是
f :: Int -> Int
Run Code Online (Sandbox Code Playgroud)
如何编写main函数以显示1000个第一个值,如下所示:
(1,f(1)), (2,f(2)), ..., (1000,f(1000))?
Run Code Online (Sandbox Code Playgroud) 你能帮我解决一个基本问题吗?我有一个"Rdv"(会议)列表,其中Rdv是一个案例类,有3个字段存储电话号码为字符串:telBureau,telPortable和TelPrivé.
我通过本机SQL查询从光滑中获取此列表; 此查询使用String或"null"(空对象,而不是"null"字符串)填充3个电话号码字段.我想删除这些空字段,所以我写了这个:
var l2:List[Rdv] = liste.list()
l2=l2.map( (w:Rdv) =>{
if ( w.telPrivé==null ) w.copy( telPrivé = "" )
})
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
found:List[Any], required:List[Rdv]
Run Code Online (Sandbox Code Playgroud)
所以在地图后我添加了".asInstanceOf [List [Rdv]]",但后来我收到了这个错误:
java.lang.ClassCastException: scala.runtime.BoxedUnit cannot be cast to metier.Objets$Rdv
Run Code Online (Sandbox Code Playgroud)
这似乎是一个基本问题,但我不能这样做.
奥利维尔.
以下代码:
Module Main where
main :: IO ()
main = do putStrLn "hello"
putStrLn $ "2 exp 6 = " ++ show (2 `exp1` 6)
exp1 :: Integer -> Integer -> Integer
exp1 x n | n == 0 = 1
| n == 1 = x
| even n = exp1 (x*x) m
| odd n = x * exp1 (x*x) (m-1)
where m = n `div` 2
Run Code Online (Sandbox Code Playgroud)
产生输出4
的2 `exp1` 6
,这显然是错误的.
谢谢