Hatena::Grouphaskell

haskell の学習 by codo RSSフィード


『ふつうのHaskellプログラミング』をテキストに、Haskellを学んでいます。

2007-05-19

変数スコープは? 08:42 変数のスコープは? - haskell の学習 by codo を含むブックマーク はてなブックマーク - 変数のスコープは? - haskell の学習 by codo

head.hs

main = do cs <- getContents
          putStr $ firstNLines 10 cs
 
firstNLines n cs = unlines $ take n $ lines cs

cs という変数を使いまわしているようですが、firstNLines 関数定義の仮引数になった csローカル変数なのでしょうか? JavaScriptだと、関数に指定した変数(仮引数)はかならず関数スコープローカル変数になるんだったとおもいます。そういえば、haskellには、スコープ概念はあるのでしょうか? この辺のことがわからないと心配でつい異なる変数名をつかいたくなります。

main = do cs <- getContents
          putStr $ firstNLines 10 cs
 
firstNLines n c = unlines $ take n $ lines c

p.7 には、haskellには「(再)代入がない」とありますが、もしかしたら、そもそも変数スコープという概念がありえない、ということなのでしょうか。

do で順番どおりに処理するとして、一行目で、すべての標準入力を読み込んだのが cs とすると、その cs はもう決定してしまって変わりようがない、ということ? 

cs に firstNLines 関数適用する。もしその関数が絶対に cs をつかうなら、cs の値はすでに決定したグローバルな定数だとすると、

main = do cs <- getContents
          putStr $ firstNLines 10
 
firstNLines n = unlines $ take n $ lines cs

ではいけないのでしょうか。でもそうすると、

Not in scope: `cs'

と叱られてしまいました。関数には、適用に必要なデータを仮引数で指定しないと適用してくれないようです。それなら、main 内に直接指定してしまってはどうかとおもい、

main = do cs <- getContents
          putStr $ unlines $ take 10 $ lines cs

としたら、OKのようです。でも、これでは関数の利点を享受できないような。

horny latina slutshorny latina sluts2007/07/25 20:05<a href="http://www.mufxpjso.cn/page29.html">edge entrance wwe</a> edge entrance wwe,<a href="http://www.mufxpjso.cn/page42.html">google search html code</a> google search html code,<a href="http://www.mufxpjso.cn/page28.html">girls using dildos</a> girls using dildos,<a href="http://www.mufxpjso.cn/page6.html">irs refund phone numbers</a> irs refund phone numbers,<a href="http://www.mufxpjso.cn/page13.html">fuck this woman</a> fuck this woman,<a href="http://www.mufxpjso.cn/page1.html">black powder competions africa standings</a> black powder competions africa standings,<a href="http://www.mufxpjso.cn/page35.html">kingdom hearts 2 cheats and codes</a> kingdom hearts 2 cheats and codes,<a href="http://www.mufxpjso.cn/page5.html">2006 auto show bmw 3 series coupe</a> 2006 auto show bmw 3 series coupe,<a href="http://www.mufxpjso.cn/index.html">free ts videos</a> free ts videos,<a href="http://www.mufxpjso.cn/page34.html">cold weather shelter</a> cold weather shelter,

hardcore pussy pornhardcore pussy porn2007/07/26 06:18<a href="http://www.evazoimy.cn/page98.html">hardcore adult comics</a> hardcore adult comics,<a href="http://www.evazoimy.cn/page71.html">design estate kentucky real site web</a> design estate kentucky real site web,<a href="http://www.evazoimy.cn/page75.html">gospel of wealth wikipedia</a> gospel of wealth wikipedia,<a href="http://www.evazoimy.cn/page69.html">city of hugo minnesota</a> city of hugo minnesota,<a href="http://www.evazoimy.cn/page86.html">ares gold</a> ares gold,<a href="http://www.evazoimy.cn/page64.html">i'm an emo kid video</a> i'm an emo kid video,<a href="http://www.evazoimy.cn/page95.html">earn cash quick</a> earn cash quick,<a href="http://www.evazoimy.cn/page59.html">financial accounting books</a> financial accounting books,<a href="http://www.evazoimy.cn/page53.html">cum lover</a> cum lover,<a href="http://www.evazoimy.cn/page84.html">hatboro horsham adult evening school</a> hatboro horsham adult evening school,

lampasas meta tagslampasas meta tags2007/07/27 09:21<a href="http://www.qzyxqnwt.cn/page55.html">aol keyword screen name</a> aol keyword screen name,<a href="http://www.qzyxqnwt.cn/page64.html">irs 501c3</a> irs 501c3,<a href="http://www.qzyxqnwt.cn/page75.html">espn college basketball score</a> espn college basketball score,<a href="http://www.qzyxqnwt.cn/page66.html">forced blowjobs</a> forced blowjobs,<a href="http://www.qzyxqnwt.cn/page96.html">bbw cuckold stories</a> bbw cuckold stories,<a href="http://www.qzyxqnwt.cn/page54.html">complete pokedex pokemon sapphire</a> complete pokedex pokemon sapphire,<a href="http://www.qzyxqnwt.cn/page96.html">bbw teen model</a> bbw teen model,<a href="http://www.qzyxqnwt.cn/page86.html">jennifer flowers new orleans</a> jennifer flowers new orleans,<a href="http://www.qzyxqnwt.cn/page71.html">boobs girls making out</a> boobs girls making out,<a href="http://www.qzyxqnwt.cn/page75.html">book college espn football</a> book college espn football,

bar monkeysbar monkeys2007/07/27 10:03<a href="http://www.xhhywdro.cn/page51.html">kobe bryant dunk videos free</a> kobe bryant dunk videos free,<a href="http://www.xhhywdro.cn/page99.html">cheap teen clothes</a> cheap teen clothes,<a href="http://www.xhhywdro.cn/page79.html">driver education sears</a> driver education sears,<a href="http://www.xhhywdro.cn/page70.html">http www x10 com security wirele</a> http www x10 com security wirele,<a href="http://www.xhhywdro.cn/page81.html">bloodhound gang vagina</a> bloodhound gang vagina,<a href="http://www.xhhywdro.cn/page72.html">frigging funny</a> frigging funny,<a href="http://www.xhhywdro.cn/page72.html">funny sports clips</a> funny sports clips,<a href="http://www.xhhywdro.cn/page92.html">aisha nude</a> aisha nude,<a href="http://www.xhhywdro.cn/page80.html">citi auto finance</a> citi auto finance,<a href="http://www.xhhywdro.cn/page79.html">kenmore sears parts</a> kenmore sears parts,

osbesndoseosbesndose2007/08/01 18:53<a href="httpwwwffyrwvdzcnpage64html">sfgiantsbaseballcaps</a> sfgiantsbaseballcaps,<a href="httpwwwffyrwvdzcnpage45html">nudepicturesofmenfuckingeachother</a> nudepicturesofmenfuckingeachother,<a href="httpwwwffyrwvdzcnpage42html">nudemodelslolpreteenlolitasbbs</a> nudemodelslolpreteenlolitasbbs,<a href="httpwwwffyrwvdzcnpage48html">whyismychihuahuahacking></a> whyismychihuahuahacking>,<a href="httpwwwffyrwvdzcnpage56html">precolumbianlitt233</a> precolumbianlitt233,<a href="httpwwwffyrwvdzcnpage53html">silkjerwlryroll</a> silkjerwlryroll,<a href="httpwwwffyrwvdzcnpage66html">custompostcardsnewyorkimages</a> custompostcardsnewyorkimages,<a href="httpwwwffyrwvdzcnpage48html">teacupchihuahuaforadoptionincopuschristitexas</a> teacupchihuahuaforadoptionincopuschristitexas,<a href="httpwwwffyrwvdzcnpage56html">gorgescruise</a> gorgescruise,<a href="httpwwwffyrwvdzcnpage62html">tshwikipedia</a> tshwikipedia,

EmmlyEmmly2012/01/06 03:26That hits the tgaret dead center! Great answer!

jpbbzdcldjpbbzdcld2012/01/07 22:34lnHsSy , [url=http://hoitywokuyhm.com/]hoitywokuyhm[/url], [link=http://gvxqxtkttucn.com/]gvxqxtkttucn[/link], http://vqyqwwkqffjl.com/

jshfamndkokjshfamndkok2012/01/09 00:47gh9Ah0 , [url=http://jmypxakedkep.com/]jmypxakedkep[/url], [link=http://ykicxfvraprm.com/]ykicxfvraprm[/link], http://bpmaqqzhrqam.com/

GatsyGatsy2016/05/10 22:31You know, I used to think that we had gotten over this gender inequality bullshit. I thought, its 2007, and people are paid based on how good they are, not their sex.However, I was wrong.Just last week, my wife discovered that somebody with sultlainsiatby less experiance than her, doing the exact same job, is paid quite a bit more than she is.Needless to say, she is going to be resigning today.

トラックバック - http://haskell.g.hatena.ne.jp/codo/20070519