いろんな言語で宿題スレ
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
300:デフォルトの名無しさん 09/06/26 19:32:49 >>298 -- Haskell import IO import Data.Char (isAlpha, toLower) import Data.Maybe (fromJust) main = do fname <- getLine h <- openFile fname ReadMode phon <- readPhon h str <- getLine putStrLn $ t298 phon str hClose h readPhon :: Handle -> IO [(Char,String)] readPhon h = hGetContents h >>= return . map parse . lines where parse :: String -> (Char,String) parse (c:',':p) = (c,p) t298 :: [(Char,String)] -> String -> String t298 phon [] = [] t298 phon (x:xs) | isAlpha x = (fromJust $ lookup (toLower x) phon) ++ ' ' : t298 phon xs | otherwise = x : t298 phon xs 301:デフォルトの名無しさん 09/06/26 19:49:43 >>299 違ったみたい。どこが違ってたか捜してみて下さい。 % Prolog phon(_フォネティックコードファイル,_文字列) :- assertz_フォネティックコード(_フォネティックコードファイル), atom_chars(_文字列,Chars), phon_1(Chars,XL), phon_2(XL). phon_1([],[]) :- !. phon_1([A,B|R1],[C,' '|R2]) :- フォネティックコード(A,C), フォネティックコード(B,_), phon_1([B|R1],R2). phon_1([A,B|R1],[C,' '|R2]) :- フォネティックコード(A,C), not(フォネティックコード(B,_)), phon_1([B|R1],R2). phon_1([A,B|R1],[A,' '|R2]) :- not(フォネティックコード(A,_)), フォネティックコード(B,_), phon_1([B|R1],R2). phon_1([A,B|R1],[A|R2]) :- not(フォネティックコード(A,_)), not(フォネティックコード(B,_)), phon_1([B|R1],R2). phon_2([]). phon_2([A|R]) :- write(A), phon_2(R).
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4630日前に更新/314 KB
担当:undef