æåã®éã«wãæãé¢æ°
30åããã°ã©ã ããã®739ãæåã®éã«wãæãé¢æ°ãæ¸ãã¦ã¿ã¾ããã
æåã®éã«æåãæãã ããªããintersperseã¨ãããã°ããã®ãã®ã®é¢æ°ãããã¾ããããä»åã¯æååãæã¿ããã£ãã®ã§èªåã§æ¸ãã¾ããã
ãã¨ãæ¥æ¬èªã®æåå(UTF8)ãæ±ãããã«utf8-stringããã±ã¼ã¸ã使ã£ã¦ã¾ãã
使ãæ¹
$ ./interperse ' w ' ãã¯ãã ã w 㯠w ã w ã
ã½ã¼ã¹ã³ã¼ã
import System import qualified System.IO.UTF8 as U import Codec.Binary.UTF8.String insertMid :: [a] -> [a] -> [a] insertMid _ [] = [] insertMid _ [x] = [x] insertMid sep (x:xs) = x:(sep ++ insertMid sep xs) main = do sep:s:_ <- getArgs U.putStrLn $ insertMid (decodeString sep) (decodeString s)