我想阅读Java中的"text8"语料库并重新格式化一些单词.问题是,在这个100MB的语料库中,所有单词都在一行上.因此,如果我尝试使用BufferedReader和加载它readLine,它会立即占用太多空间而无法处理它以分隔一个列表/数组中的所有单词.
所以我的问题是:在Java中是否有可能逐行读取语料库,逐字逐句阅读?那么例如因为所有单词都在一行上,例如每次迭代读取100个单词?
当你使用Ada案例陈述时,每个案例都会自动中断.在C(或其他语言)中,不会自动执行此中断,并且执行真正的中断后的所有情况.是否也可以在Ada中使用此行为或解决方法?
我想从这个页面使用Sieve of Eratosthenes的代码:http://en.literateprograms.org/Sieve_of_Eratosthenes_(Hackaskell)#chunk def:primes_naive
只有一点修改,所以它只显示一个数字的素数:
primes :: Integral a => a -> [a]
primes m = sieve [2..m]
where
sieve (p:xs) = p : sieve [x|x <- xs, x `mod` p > 0]
Run Code Online (Sandbox Code Playgroud)
但是在WinGHCi中总是出现错误(例10):
primes 10
[2,3,5,7*Main> *** Exception: eratosthenes.hs:4:5-55: Non-exhaustive patterns in function sieve
Run Code Online (Sandbox Code Playgroud)
我从递归函数中知道这个错误,例如缺少案例,但这里缺少什么?
recursion primes haskell pattern-matching non-exhaustive-patterns