haskell-jp / beginners #14 at 2021-02-16 22:13:17 +0900

Haskellでヒアドキュメントを実現する一番良い方法は何でしょうか
たとえば、
1から100までの連番それぞれに対して、
その番号を含んだ文書を、計100通り出力したいです。
シェルスクリプトやPerlでもよくある処理なので難しいことではないと思っていたのですが、
Haskellでしようとすると詰まってしまいました。

 *試したこと*

• *String Gapを使う方法*
⇒正しくできることもありましたが、下記のエラーがでて動かないこともありました。
`lexical error in string/character literal at character '\n'`

改行の位置やインデントの問題なのかもしれませんが、どこを見れば正しいやり方が把握できるのかがわからなかったです。

• *ライブラリを使う方法*
⇒stackageでヒットしたheredocというライブラリ heredoc

では、変数を埋め込むことが出来なさそうな感じでした。
また、変数を埋め込むことのできるライブラリ  heredocs

はstackに載っておらず、stackで作成したプロジェクトへの導入の仕方がわからず敬遠している状況です。

いいやり方をご存じの方、教えていただきたいです。
僕はよく https://hackage.haskell.org/package/here を使います
⇒正しくできることもありましたが、下記のエラーがでて動かないこともありました。
これは具体的にどういうコードを書いたのか気になりますね。

stackで作成したプロジェクトへの導入の仕方がわからず
stack.yaml に extra-depsという項目があるのでそこに追記してください。
書き方は stack initstack new などで生成したstack.yamlにコメントアウトされています。
あと、それでなくともとりあえず cabal ファイル(あるいは package.yaml があるなら package.yaml)に追加すれば stack build の際「こうやって追記してね!」って教えてくれるはずです。