七周七语言:Erlang Day 2

虽然在前一天就已经“提前”用过了一些控制结构,但毕竟还是半生不熟的。
控制结构、匿名函数、迭代、映射、过滤、列表解析等等,这一天的内容真够丰富的,没有做附加题,原因是Tic Tac Toe真的是被做烂了:| (PS:并发又在最后一天。。)

  • 考虑包含键-值元组的列表,如[{erlang, "a functional language"}, {ruby, "an OO language"}]。写一个函数,接受列表和键为参数,返回该键对应的值。
    这很简单,只要读入一个Hash表并获取需要查询的Key就可以查得其对应的Value了。

    -module(day2_hw1).
    -export([k_v/2]).
    
    k_v(List, Name) -> 
        [Value || {Key, Value}  c(day2_hw1).
    {ok,day2_hw1}
    2> day2_hw1:k_v([{ruby, "OO"}, {erlang, "FP"}], ruby).
    ["OO"]
    		
  • 考虑形如[{item quantity price}, ...]的购物列表。写一个列表解析,构建形如[{item total_price, ...}]的商品列表,其中total_price是quantity乘以price。

    -module(day2_hw2).
    -export([total/1]).
    
    total(List) ->
       [{Item, Quantity * Price} || {Item, Quantity, Price}  day2_hw2:total([{noodle, 4, 5}, {cola, 3, 3}]).
    [{noodle,20},{cola,9}]
    		
posted @ 2013-01-26 21:40  冰激淋  阅读(193)  评论(0)    收藏  举报