は、私は私が得ているエラーがハスケル:私のインデントエラー
Game.hs:159:6:
The last statement in a 'do' construct must be an expression
私は削除またはコメントで次のコード
152 -- find the first one who can refute the scenario
153 let cs = map ($scenario) [ Suspect . getWho, Room . getWhere, Weapon . getHow ]
154 let (qs,rss) = break (not . null . intersect cs . hand) ps
155 unless (null rss) $ do
156 let refuter:ss= rss
157 let valid = intersect cs $ hand refuter
158
159 (refuter, shown) <- if cheated refuter
160 -- if the refuter is a cheater, just choose for him
161 then return (refuter, head valid)
162 else do
163 (refuter, shown) <- runStateT $ reveal scenario
164 -- make sure they don't cheat
165 return if shown `elem` valid
166 then (refuter, shown)
167 else (refuter { cheated = True }, head valid)
168 putTail (qs ++ refuter:ss)
169 return()
とインデントエラーだと思うものを得るんですよアウトライン159~167の場合、エラーは消え去る。
私は間違っていますか?
私はこのスタック交換[提案](http://area51.stackexchange.com/proposals/11464/code-review?referrer=aWNm_PdciyFqjFW8CUacGw2 "コードレビュー")があなたにとって興味深いかもしれないと思います。それがあなたのサポートを示し、ベータにそれを得るのを助けるなら:) – greatwolf