Я рекомендую использовать селен , а не бс.
Селен может контролировать браузер и анализ. например, прокрутка вниз, нажатие кнопки и т. д.
Этот пример предназначен для прокрутки вниз, чтобы получить всех похожих пользователей в Instagram.
https://stackoverflow.com/a/54882356/5611675
Проблема в последнем предложении, где вы рассматриваете x и y как элементы, а они являются списками. Это будет работать:
intersperse _ [] = []
intersperse _ [x] = x
intersperse s (x:y:xs) = x ++ [s] ++ y ++ intersperse s xs
Ошибка бесконечного типа возникает из-за того, что оператор: имеет тип a -> [a] -> [a], а вы рассматриваете его как [a] -> a -> [a], что означает, что [a] должен быть идентифицирован с a, что означало бы, что a является бесконечно вложенным списком. Это недопустимо (и в любом случае не то, что вы имеете в виду).
Редактировать: В приведенном выше коде есть и другая ошибка. Должно быть:
intersperse _ [] = []
intersperse _ [x] = x
intersperse s (x:xs) = x ++ [s] ++ intersperse s xs
Я могу ошибаться, но, похоже, вы пытаетесь решить более сложная проблема. Ваша версия intersperse
не только перемежает значение с массивом, но и выравнивает его на один уровень.
Модуль List
в Haskell фактически обеспечивает функцию перемежения. Он вставляет значение, указанное между каждым элементом в списке. Например:
intersperse 11 [1, 3, 5, 7, 9] = [1, 11, 3, 11, 5, 11, 7, 11, 9]
intersperse "*" ["foo","bar","baz","quux"] = ["foo", "*", "bar", "*", "baz", "*", "quux"]
Я предполагаю, что это то, что вы хотите сделать, потому что это то, что мой профессор хотел, чтобы мы делали, когда я изучал Haskell. Я мог бы, конечно, быть полностью вне.
Это то, что мой профессор хотел, чтобы мы делали, когда я изучал Хаскель. Я мог бы, конечно, быть полностью вне. Это то, что мой профессор хотел, чтобы мы делали, когда я изучал Хаскель. Я мог бы, конечно, быть полностью вне.Также я нашел это , в котором объясняется смысл ошибки.
Каждый раз, когда интерпретатор / компилятор выдает мне эту ошибку, это связано с тем, что я использую некоторый параметризованный кортеж в качестве формального параметра. Все работает правильно, если удалить определение типа функции, которое содержало переменные типа.
Я до сих пор не могу понять, как исправить это и сохранить определение типа функции.