toyboot4e
→ コードテストでは失敗、提出すると AC でした。
(たぶん) アルゴ式側の問題のようなので (運営の方に) 質問してみます m(_ _)m
... Replies ...
(たぶん) アルゴ式側の問題のようなので (運営の方に) 質問してみます m(_ _)m
print で検索したら print = putStrLn . show みたいなものが一発で出てくると嬉しいです。ghc: panic! (the 'impossible' happened)
(GHC version 8.8.4 for x86_64-unknown-linux):
Prelude.chr: bad argument: 1526726659
Please report this as a GHC bug:
-- While building simple Setup.hs (scroll up to its section to see the error) using:
/home/morizumi/.stack/programs/x86_64-linux/ghc-tinfo6-8.8.4/bin/ghc-8.8.4 -rtsopts -threaded -clear-package-db -global-package-db -hide-all-packages -package base -main-is StackSetupShim.mainOverride -package Cabal-3.0.1.0 /home/morizumi/.stack/setup-exe-src/setup-mPHDZzAJ.hs /home/morizumi/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs -o /home/morizumi/.stack/setup-exe-cache/x86_64-linux-tinfo6/tmp-Cabal-simple_mPHDZzAJ_3.0.1.0_ghc-8.8.4
Process exited with code: ExitFailure 1 print[solve i j | i <- [0 .. n-2], j <- [i+1 .. n-1]]
liftA2 :: (a -> b -> c) -> f a -> f b -> f c liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m r
Array: ヒープに配置される気がしますData.Vector.Fixed: LTS 16.11 の vector にはありませんでしたrepa: いつか確認したいですArray: ヒープに配置される気がしますData.Vector.Fixed: LTS 16.11 の vector にはありませんでしたrepa: いつか確認したいですfunc1 :: IO (Maybe Int, Maybe Int)
func1 = do
return (Nothing, Nothing)
-- user error (Pattern match failure in do expression
pt1 :: IO ()
pt1 = do
(_, Just var2) <- func1
print var2
return ()
-- Non-exhaustive patterns in lambda
pt2 :: IO ()
pt2 = do
bracket
func1
(\_ -> print ("cleanup" :: String))
( \(_, Just var2) ->
print var2
)pt1 :: IO ()
pt1 = do
(_, q) <- func1
case q of
Nothing -> error "no data"
Just v -> print v(_, q) が (Maybe Int, Maybe Int) 型の値すべてを網羅していることに注目してください。`case` 式では2つパターンを書いて Maybe Int 型の値のすべてを網羅しています。putStr "no data" とするか、適当な例外を投げて、`pt1` を呼び出した側で catch して例外処理するようにします。pt2 の場合のように、λ抽象式の \〈パターン〉->〈式〉もパターン並記ができませんが、こちらは、言語拡張 LambdaCase を指定すると(\ case パターン1 -> 式1 ... パターンn -> 式n )
maybe :: b -> (a -> b) -> Maybe a -> b を使います。pt1 = maybe (error "no data") print . snd =<< func1
sdl2> configure sdl2> Configuring sdl2-2.5.3.0... sdl2> Cabal-simple_Z6RU0evB_3.4.1.0_ghc-9.0.2.exe: The pkg-config package 'sdl2' sdl2> version >=2.0.6 is required but it could not be found.
: とは何のことですか。 • タプルとは何ですか。 module Main where
import Conduit
import Data.Conduit.Binary as CB
import Data.ByteString (ByteString)
import Data.ByteString.UTF8 (toString)
main :: IO ()
main = do
res <- runConduitRes $ pipeline "./words.txt"
Prelude.mapM_ print res
producer :: MonadResource m => FilePath -> ConduitT i ByteString m ()
producer file = sourceFile file .| CB.lines
string :: Monad m => ConduitT ByteString String m ()
string = mapC toString
filtering :: Monad m => ConduitT String o m ()
filtering = dropWhileC ( == "apple")
-- filtering = dropWhileC (const True)
pipeline :: MonadResource m => FilePath -> ConduitT i o m [String]
pipeline file = producer file .| string .| (filtering >> sinkList)$ stack run | grep "apple" "apple"