haskell-jp / beginners #17 at 2021-07-22 13:27:11 +0900
Back to beginners #17
sanao
2021-07-22 13:27:11 +0900
質問です。以下のコードは、getLineで受け取った文字列の先頭に1文字(今回ならk)だけ付け加えているのですが、先頭にではなく末尾に付け加えたいと思っています。`:` の逆バージョンのような簡潔な表現はないのでしょうか?
main=getLine>>=putStrLn.(:)'k'
TH
2021-07-22 14:04:55 +0900
@sanao
flip (:)
を用いるのはいかがでしょうか?
2021-07-22 14:09:21 +0900
そのような関数はsnocと名付けられることが多く、textやbytestringにはあります
しかしListには標準では定義されてないようです
多分、リスト全部辿って入れないといけないので++で遅いことをプログラマに自覚させたいのでしょう
sanao
2021-07-22 14:15:46 +0900
@TH
ちなみにflip用いるとどんな表現になりそうですかね...?
Back to beginners #17