Haskellをラクガク

2006-09-12Preluedeってステキな名前

4.4 練習問題1 02:27

標準入力を行単位ソート」の意味をどう捉えるのが一般的か。


1. 1行を1要素とみなして、複数行をソート

2. 1行の中に含まれる各文字列を1要素とみなしてソート


日本語の難しさは置いておいて、両方作ってみる。

1. 1行を1要素とみなして、複数行をソート

import List

main = do   cs <- getContents
            putStr $ unlines $ sort $ lines cs
> sort < sort.hs

            putStr $ unlines $ sort $ lines cs
import List
main = do   cs <- getContents

空行のみが先頭、スペースから始まるのが2番目、以下アルファベット順。

2. 1行の中に含まれる各文字を1要素とみなしてソート

import List

main = do   cs <- getContents
            putStr $ unlines $ map sort $ lines cs

> sort2 < sort2.hs
 Liimoprstt

       -<=Cacdeegimnnnoossttt
                    $$$Saceeiillmnnnopprrsssstttuu

各行中の要素がソートされております。

で、答えを見たら1.だった。でも$で繋がないで、.で繋いでるのは何でだ…。「=<< getContents」も意味はわかるけど、こんな書き方できるのは知らない。


4.4 練習問題2 02:40

import List

main = do   cs <- getContents
            putStr $ unlines $ map head $ group $ lines cs

text.txt

111
111
222
333
333
2222
>uniq < text.txt
111
222
333
2222

感想 02:40

  • わかんなくなりそうになったら後ろから順を追って考える
  • でもそれって関数型プログラミングなのかな?単に後ろから評価しているに過ぎないような。
  • 日本語って難しい

JayJay2012/12/22 21:57Touchdown! That's a really cool way of putintg it!

aubsczrzzyaubsczrzzy2012/12/23 11:512HuYSu <a href="http://qtjminqlxjyt.com/">qtjminqlxjyt</a>

rzfsrpnfibrzfsrpnfib2012/12/23 16:30sIj6DJ , [url=http://cirazwpffaen.com/]cirazwpffaen[/url], [link=http://tbymkkilzpce.com/]tbymkkilzpce[/link], http://jzmqrkaphlal.com/

ccdijlccdijl2012/12/26 07:28zgsmp4 , [url=http://qojvefeflayn.com/]qojvefeflayn[/url], [link=http://kuwdhxkjfhee.com/]kuwdhxkjfhee[/link], http://voeavzmjvjwv.com/