<div dir="ltr">It works !<br><div>Thank you so much !<br></div><div>Have a nice day~</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-04-20 22:09 GMT+09:00 Roel van Dijk <span dir="ltr"><<a href="mailto:vandijk.roel@gmail.com" target="_blank">vandijk.roel@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="">On 20 April 2014 14:57, S. H. Aegis <span dir="ltr"><<a href="mailto:shaegis@gmail.com" target="_blank">shaegis@gmail.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div dir="ltr">
<div>Is there any other ways to use variables outside of the "do-block"?</div></div></blockquote><div><br></div></div><div>You can pass the list of names as an argument where it is needed.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div dir="ltr"><div></div><div>import Data.List<br></div><div><div class=""><div>import Data.List.Split</div><div>import Data.Char</div><div>import Data.Maybe</div><div><br></div><div>main :: IO ()</div><div>main = do</div>
<div>    names <- readFile "names.txt"</div>


</div><div>    print $ sum $ map (\x -> getPosition names x * getScore x) names</div><div><br></div><div>getPosition :: [String] -> String -> Int</div><div>getPosition names x = fromMaybe 0 (elemIndex x $ sortedNamesList names) + 1</div>
<div class="">

<div><br></div><div>
getScore :: String -> Int</div><div>getScore xs = sum $ map (\x -> ord x - 64) xs</div><div><br></div></div><div>sortedNamesList :: [String] -> [String]</div><div>sortedNamesList names = sort $ nameList names</div>
<div class=""><div>

<br></div><div>nameList :: String -> [String]</div>
<div>nameList = split (dropDelims . dropBlanks $ oneOf ",\"")</div></div></div></div></blockquote></div><br></div><div class="gmail_extra"><br></div></div>
<br>_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div><div>Sok Ha, CHANG<br></div>Dr. Chang's Clinic. #203. 503-23. AmSa-Dong, GangDong-Gu, Seoul.<br></div>Tel: +82-2-442-7585<br></div>

</div>