URLがスクリプトに渡されるさまざまなWebサイトのサイズを取得しようとしていますが、無効なURLを渡しても例外は発生せず、非常に小さなページが取得されます。を使用してSource.fromURL
いますが、次の結果が得られます。
thisIsClearlyABoggusURLThatCantPossiblyLeadAnyway 1052
www.bbc.co.uk 113871
最初のものは、それが言うように、それに何も含まれるべきではありませんが、それはあります。私のスクリプトは次のとおりです。
def main( args:Array[String] ){
val tasks = for(arg <- args) yield future {
try {
println(arg + " " + Source.fromURL( attachPrefix(arg) ).length)
} catch {
case e : java.net.UnknownHostException => println(arg + " *")
}
}
awaitAll(20000L, tasks: _*)
}
def attachPrefix( url:String ) = url.slice(0, 4) match {
case "http" => url
case "www." => "http://" + url
case _ => "http://www." + url
}
attachPrefix
各引数は、使用される前に必要なプレフィックスが付いていることを確認するために関数に渡されます。この問題は、URLをにマッピングするのではなく、パラメータとしてURLを渡し始めてから発生しましたarg
。これは、以前に行っていたものです。
args map attachPrefix
2つの違いは何ですか、そしてなぜ私の現在のものがそのような振る舞いをしているのですか?