作者SansWord (是妳)
看板PLT
標題Re: [問題] 請問這題有誰會呢?
時間Sat Nov 13 02:04:34 2010
※ 引述《SansWord (是妳)》之銘言:
: ※ 引述《cedog (YA)》之銘言:
: : insert(str1,str2,int):插入字串,將str2插入str1的位置int,從0開始。
: : replace(str1,str2,int):取代字串,將str1位置int,開始取代成str2,int是從0開始。
: insert(str1,str2,int):: String -> String -> Integer -> String
: insert(str1, str2, 0)
: = str2 ++ str1
: insert(a::str1, str2, b)
: = a::( insert(str1, str2, (b-1)) )
: replace(str1, str2, int):: String -> String -> Integer -> String
: replace(a::as, b::bs, 0)
: = b::(replace (as, bs, 0)
: replace( nil, s2, 0)
: = nil
: replace( s1, nil, 0)
: = s1
: replace( a::as, s2, b)
: = a::( replace(as, s2, (b-1) ) )
: 這樣應該是ok的吧?
: 這不是任何程式碼,充其量就是有點functional 的pseudo code
: 希望能幫到你
附上可以Run 的Haskell Code (喔天啊我寫太多python 剛剛居然忘記怎麼寫Haskell了)
insert::[Char
] -> [Char
] -> Int
-> [Char
]
insert s1 s2
0 = s2
++ s1
insert (s
:s1) s2 b
= s
: insert s1 s2 (b
-1)
insert
[] s2 b
= s2
replace:: String
-> String
-> Integer
-> String
replace (a
:as) (b
:bs)
0 = b
:(replace as bs
0)
replace
[] s2 b
= ""
replace s1
[] b
= s1
replace (a
:as) s2 b
= a
:( replace as s2 (b
-1) )
暗紅色 是內建operator
青色 是常數
綠色 是字串
像這種跟pseudo code 一樣簡單的程式語言,真是打著燈籠都找不著。
來學Haskell吧!!!
--
回憶不會消失...只會被蓋在灰塵
下...
只要沒有風去吹動~~一切....就可以默默淡忘...
所以....不要成為那傷人的風吧.... ^.^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.193.67.182