LINUX.ORG.RU

Избранные сообщения FeelUs

Генерировать простые числа на haskell

Форум — Development

Помогите придумать функцию, генерирующую бесконечный список простых чисел, такой же как [1..] или fib a b = a:fib b (a+b).

Очевидно, что это можно сделать неоптимально:

ghci> let isprime x = all (\n->x`mod`n/=0) [2..x-1]
ghci> take 10 $ filter isprime [2..]
а так же можно сделать оптимально, но так,чтоб генерировала бесконечный список у меня не получается
ghci> let isprimeof x primes = all (\y-> x`mod`y/=0) primes
ghci> let newprime primes = x where Just x =  find (flip isprimeof primes) [(last primes)..]
ghci> let addprime primes = primes ++ [newprime primes]
дальше можно определить primegen primes = primegen $ addprime primes, но это будет бесконечная рекурсия, которая не выдает список

 

FeelUs
()

Специальное чтение из файла

Форум — General

Привет всем!

Интересует вопрос: можно ли создать в linux «файл», при чтении из которого выводились бы результаты работы заданного скрипта/программы? Если да, то как это сделать? Заранее спасибо.

 , ,

pS
()

Если в баше все так плохо, не пора ли перестать им пользоваться для скриптов?

Форум — Development

Прочитал на днях вот эту статейку: http://www.dwheeler.com/essays/filenames-in-shell.html. Это просто жесть. Я наверное не видел ни одного баш скрипта, который бы делал все правильно, как там описано. Не легче ли использовать какой-нибудь там питон для этого, а не терпеть внезапные унижения собственным шеллом, когда ты впервые запустишь скрипт на файлах с русскими символами / пробелами / переносами строк / еще какими-нибудь внезапными названиями?

 ,

hlebushek
()