Просто хочу уточнить, что это мой первый день программирования, и я понимаю, насколько глуп этот вопрос: D
1) Почему не работает?
ghci>''hello'' ++ ''world''
<interactive>:40:1: error
* Syntax error on ''hello''
Perhaps you intended to use TemplateHaskell or TemplateHaskellQuotes
* In the Template Haskell quotation ''hello''
ghci>''hello'' ++ '' '' ++ ''world''
<interactive>:41:17: error: parse error on input '''
Стоит ли добавить что-нибудь в текстовый редактор, чтобы он заработал? Или я просто сделал какую-то ошибку новичка?
2)
ghci> ''Steve'' !! 2
<interactive>:42:2: error
* Syntax error on ''Steve''
Perhaps you intended to use TemplateHaskell or TemplateHaskellQuotes
* In the Template Haskell quotation ''Steve''
ghci>[1,2,3,5,8] !! 2
3
Когда я выполняю эти команды с числами, это работает, но не с символами. Я, должно быть, делаю что-то не так, но не знаю, что именно: /
Заранее спасибо!
Кроме того, два скриншота кажутся совершенно не связанными.
Заголовок Haskell; экстремальные вопросы для новичков, к сожалению, не очень информативен. Пожалуйста, измените его, чтобы отразить то, о чем вы на самом деле спрашиваете.
Спасибо за ваш вклад. Я последую вашим советам, когда в следующий раз задам вопрос!
В мою защиту; Я с трудом понимаю связь между редактором и терминалом. Вот почему я также показал текстового редактора (на случай, если мне придется что-то там добавить)
@TobiasBernhardt Обязательно ознакомьтесь с stackoverflow тур и Как мне задать хороший вопрос?. Stackoverflow работает по принципам, которые сильно отличаются от других типов веб-сайтов, с которыми вы, возможно, знакомы.
Строки окружены двойные кавычки (например, ".."
), а не одинарными кавычками два (как в ''..''
). Таким образом, вам следует использовать "
вместо '
.
Например:
$ ghci
GHCi, version 8.0.2: http://www.haskell.org/ghc/ :? for help
Prelude> "hello" ++ "world"
"helloworld"
Prelude> "hello" ++ " " ++ "world"
"hello world"
Это указано в Раздел отчета Haskell 2010 «Символьные и строковые литералы»:
Character literals are written between single quotes, as in
'a'
, and strings between double quotes, as in"Hello"
.
На основе эта статья можно написать прямые двойные кавычки на клавиатуре Mac с помощью Shift + ', как это организовано на "стандартной" клавиатуре Querty:
On any typical keyboard, simply press ' for a straight single mark (
'
) and Shift + ' for a straight double mark ("
).
На основе @ Комментарий M.Aroosi, для клавиатуры Querty для Великобритании, "
- это Shift + 2.
Черт возьми, я идиот. Похоже, на моем Mac даже нет этих цитат ... Так что я думаю, что мне придется скопировать и вставить их в будущем. Большое спасибо за помощь! :)
Можно ли использовать эту ветку в ближайшие дни, чтобы задавать еще более простые вопросы, или мне следует создавать новую цепочку каждый раз, когда я задаю кучу вопросов? Я не смог найти существующую ветку для "Начальных вопросов Haskell"
@TobiasBernhardt: разве это не Shift + клавиша одинарной кавычки?
@TobiasBernhardt: Я думаю, что политика заключается в том, чтобы задавать один вопрос на каждый вопрос. Поскольку в противном случае вопрос становится «пакетом» вопросов, и пользователь, который позже выполняет поиск, получит все виды «шум», которые не имеют отношения к делу.
@TobiasBernhardt Stack Overflow - это не форум - у него нет «веток» и каждый вопрос должен быть отдельным вопросом. Фактически, этого вопроса должно было быть два вопроса.
Хорошо, просто хотел убедиться, чтобы случайно не спамить форум
@TobiasBernhardt довольно сложно представить, что нельзя вводить двойные кавычки на клавиатуре. Из какой ты страны? Вероятно, это сдвиг + одинарная кавычка, как говорит Уильям. (Просто убедитесь, что вы его слышите)
Если ваш компьютер настроен на раскладку клавиатуры qwerty UK English, то двойные кавычки будут Shift
+ 2
.
@TobiasBernhardt не забудьте отметить вопрос как ответ (щелкнув галочку), а также ознакомьтесь с страница информации тега haskell, чтобы найти полезные вещи и ответы на часто задаваемые вопросы. Удачи, изучая haskell!
Еще раз спасибо за помощь! :) отмечу как отвеченный
Пожалуйста, вставьте фрагмент кода (как текст, нет как изображение) и т. д. Если позже ссылка умирает, контент все еще доступен.