Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");
Elements links = doc.select("a[href]"); // a with href
所以这段代码有效,但是有没有办法制作一组辅助函数,所以我不必在每个定义之后编写它们。
像这样:
FileUtils.copyURLToFile(URL source, File destination);
答案 0 :(得分:2)
没有。 let
和where
只能在设计中用于一个表达式或声明中。如果要将它们用作多个声明的辅助函数,只需将它们放在顶层:
zmnoziKoef :: [Rational] -> [Rational] -> [Rational]
zmnoziKoef _ [] = []
zmnoziKoef [] _ = []
zmnoziKoef (x:xs) (y:ys) = (x * y) : pomnoziKoef x ys `sestejKoef` (xs `zmnoziKoef` (y:ys))
sestejKoef :: [Rational] -> [Rational] -> [Rational]
sestejKoef xs [] = xs
sestejKoef [] ys = ys
sestejKoef (x:xs) (y:ys) = (x + y):(sestejKoef xs ys)
pomnoziKoef :: Rational -> [Rational] -> [Rational]
pomnoziKoef a = map (a *)
instance Num Polinom where
negate (Polinom koef) = Polinom $ pomnoziKoef (-1) koef
(Polinom koef1) + (Polinom koef2) = Polinom $ sestejKoef koef1 koef2
(Polinom koef1) * (Polinom koef2) = Polinom $ zmnoziKoef koef1 koef2
fromInteger x = Polinom $ [fromInteger x]
如果您希望将此模块保密,您可以使用导出列表避免导出它们:
module MyModule(funcA, funcB, funcC) where
...
在上面的代码中,只导出funcA
,导出模块时会导出funcB
和funcC
(加上所有实例)。