Erlang Mailing Lists

Author Message

<  Erlang  ~  string pattern matching

casper
Posted: Thu Aug 16, 2012 5:29 pm Reply with quote
Joined: 16 Aug 2012 Posts: 1
Let's say I have such a string: "<key1="value1" key2="value2">" and I gonna gather value1 and value2 by its keys accordingly.
I write the following code:

Code:
gather_value1() ->
    Fun = fun("key1=\"" ++ T, F) -> gather_body(T, []);                         
        ([_|T], F) -> F(T, F);                                                 
        ([], _) -> not_found                                                   
    end,                                                                       
    Fun(?Data, Fun).

gather_value2() ->
    Fun = fun("key2=\"" ++ T, F) -> gather_body(T, []);                         
        ([_|T], F) -> F(T, F);                                                 
        ([], _) -> not_found                                                   
    end,                                                                       
    Fun(?Data, Fun).

gather_body("\"" ++ _, L) -> reverse(L);                                       
gather_body([H|T], L) -> gather_body(T, [H|L]);                                 
gather_body([], _) -> not_found.


As we can see from here, gather_value1 and gather_value2 differs just by that string which contains the key, so it is obvious to write something like:

Code:
gather_value(Key) ->
    Fun = fun(Key ++ T, F) -> gather_body(T, []);                         
        ([_|T], F) -> F(T, F);                                                 
        ([], _) -> not_found                                                   
    end,                                                                       
    Fun(?Data, Fun).


but unfortunately "Key ++ T" is illegal pattern.
So, how can I avoid duplicating the code here?
View user's profile Send private message
dongdongwu
Posted: Thu Sep 20, 2012 5:22 am Reply with quote
User Joined: 19 Sep 2012 Posts: 236
His good friend Diane said: "Christian Louboutin Men Shoes was a magician, he make shoes is immediately put his female people with legs and advantage. He understands women wanted to do and can make them into beautiful Cinderella." Madonna often in its concert wearing Christian louboutin high heels , and some famous superstar like Angelina jolie, mariah Carey, beyonce Knowles, the famous Japanese singer YaYouMei Hamasaki helps Christian Louboutin Men Shoes set up its powerful position. The youngest customers will count Tom cruise's daughter sully cruz. Louboutin made for only a pair of handmade Christian Louboutin high heel Shoes! Want to be more fashion? Put on Christian Louboutin Outlet !
Candy colors of the chalaza high-heeled shoes with lolita type allure, set full finely gem blue "neon shoes" is to need to use "sexy" to describe. Each pair are worth careful appreciation of lithe and graceful fairy ludaoli, what kind of most let you move?Christian Louboutin Men Shoes that one brush red is always cannot resist the temptation, Christian Louboutin men outlet continue to use the days of high 8cm above slender heel proclaim the sexy and luxuriant. The bowknot on black pointed high-heeled shoes with sharp rivet concomitant, wild python met enchanting color printing grain, It is that pairs of high-heeled shoes lets Carrie more feminine flavour. Like Christian Louboutin for men her word.
View user's profile Send private message

Display posts from previous:  

All times are GMT
Page 1 of 1
This forum is locked: you cannot post, reply to, or edit topics.

Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum