'' hello '' ++ '' world '' не работает в Haskell

Просто хочу уточнить, что это мой первый день программирования, и я понимаю, насколько глуп этот вопрос: 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

Когда я выполняю эти команды с числами, это работает, но не с символами. Я, должно быть, делаю что-то не так, но не знаю, что именно: /

Заранее спасибо!

Пожалуйста, вставьте фрагмент кода (как текст, нет как изображение) и т. д. Если позже ссылка умирает, контент все еще доступен.

Willem Van Onsem 09.09.2018 17:37

Кроме того, два скриншота кажутся совершенно не связанными.

Willem Van Onsem 09.09.2018 17:40

Заголовок Haskell; экстремальные вопросы для новичков, к сожалению, не очень информативен. Пожалуйста, измените его, чтобы отразить то, о чем вы на самом деле спрашиваете.

scopchanov 09.09.2018 17:47

Спасибо за ваш вклад. Я последую вашим советам, когда в следующий раз задам вопрос!

Tobias Bernhardt 09.09.2018 18:10

В мою защиту; Я с трудом понимаю связь между редактором и терминалом. Вот почему я также показал текстового редактора (на случай, если мне придется что-то там добавить)

Tobias Bernhardt 09.09.2018 18:11

@TobiasBernhardt Обязательно ознакомьтесь с stackoverflow тур и Как мне задать хороший вопрос?. Stackoverflow работает по принципам, которые сильно отличаются от других типов веб-сайтов, с которыми вы, возможно, знакомы.

Cubic 09.09.2018 22:32
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
6
173
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Строки окружены двойные кавычки (например, ".."), а не одинарными кавычками два (как в ''..''). Таким образом, вам следует использовать " вместо '.

Например:

$ 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 даже нет этих цитат ... Так что я думаю, что мне придется скопировать и вставить их в будущем. Большое спасибо за помощь! :)

Tobias Bernhardt 09.09.2018 17:41

Можно ли использовать эту ветку в ближайшие дни, чтобы задавать еще более простые вопросы, или мне следует создавать новую цепочку каждый раз, когда я задаю кучу вопросов? Я не смог найти существующую ветку для "Начальных вопросов Haskell"

Tobias Bernhardt 09.09.2018 17:43

@TobiasBernhardt: разве это не Shift + клавиша одинарной кавычки?

Willem Van Onsem 09.09.2018 17:43

@TobiasBernhardt: Я думаю, что политика заключается в том, чтобы задавать один вопрос на каждый вопрос. Поскольку в противном случае вопрос становится «пакетом» вопросов, и пользователь, который позже выполняет поиск, получит все виды «шум», которые не имеют отношения к делу.

Willem Van Onsem 09.09.2018 17:44

@TobiasBernhardt Stack Overflow - это не форум - у него нет «веток» и каждый вопрос должен быть отдельным вопросом. Фактически, этого вопроса должно было быть два вопроса.

Alexis King 09.09.2018 17:45

Хорошо, просто хотел убедиться, чтобы случайно не спамить форум

Tobias Bernhardt 09.09.2018 17:46

@TobiasBernhardt довольно сложно представить, что нельзя вводить двойные кавычки на клавиатуре. Из какой ты страны? Вероятно, это сдвиг + одинарная кавычка, как говорит Уильям. (Просто убедитесь, что вы его слышите)

luqui 09.09.2018 18:16

Если ваш компьютер настроен на раскладку клавиатуры qwerty UK English, то двойные кавычки будут Shift + 2.

Mor A. 09.09.2018 19:07

@TobiasBernhardt не забудьте отметить вопрос как ответ (щелкнув галочку), а также ознакомьтесь с страница информации тега haskell, чтобы найти полезные вещи и ответы на часто задаваемые вопросы. Удачи, изучая haskell!

jberryman 09.09.2018 19:19

Еще раз спасибо за помощь! :) отмечу как отвеченный

Tobias Bernhardt 09.09.2018 19:55

Другие вопросы по теме