zoukankan      html  css  js  c++  java
  • [ Skill ] map mapc mapcan mapcar mapcon maplist mapinto

    https://www.cnblogs.com/yeungchie/

    几种 map 函数的差异

    map

    map(
      lambda(( a b )
        println( list( a b ))
      )
      list( 1 2 3 )
      list( 4 5 6 )
    )
    ; ((1 2 3) (4 5 6))
    ; ((2 3) (5 6))
    ; ((3) (6))
    ; => (1 2 3)
    

    mapc

    mapc(
      lambda(( a b )
        println( list( a b ))
      )
      list( 1 2 3 )
      list( 4 5 6 )
    )
    ; (1 4)
    ; (2 5)
    ; (3 6)
    ; => (1 2 3)
    

    mapcan

    mapcan(
      lambda(( a b )
        println( list( a b ))
        list( a + b )
      )
      list( 1 2 3 )
      list( 4 5 6 )
    )
    ; (1 4)
    ; (2 5)
    ; (3 6)
    ; => (5 7 9)
    

    mapcar

    mapcar(
      lambda(( a b )
        println( list( a b ))
        a + b
      )
      list( 1 2 3 )
      list( 4 5 6 )
    )
    ; (1 4)
    ; (2 5)
    ; (3 6)
    ; => (5 7 9)
    

    mapcon

    mapcon(
      lambda(( a b )
        println( list( a b ))
        list(a b)
      )
      list( 1 2 3 )
      list( 4 5 6 )
    )
    ; ((1 2 3) (4 5 6))
    ; ((2 3) (5 6))
    ; ((3) (6))
    ; => ((1 2 3) (4 5 6) (2 3) (5 6) (3) (6))
    

    maplist

    maplist(
      lambda(( a b )
        println( list( a b ))
        list(a b)
      )
      list( 1 2 3 )
      list( 4 5 6 )
    )
    ; ((1 2 3) (4 5 6))
    ; ((2 3) (5 6))
    ; ((3) (6))
    ; => (((1 2 3) (4 5 6)) ((2 3) (5 6)) ((3) (6)))
    

    mapinto

    mapinto(
      list( 0 0 0 0 0 )
      lambda(( a b )
        println( list( a b ))
        a + b
      )
      list( 1 2 3 )
      list( 4 5 6 )
    )
    ; (1 4)
    ; (2 5)
    ; (3 6)
    ; => (5 7 9 0 0)
    
  • 相关阅读:
    ros结合catkin_make和qtcreator
    构造函数隐式转换
    c语言自动对齐原则
    array数据初始化
    const 作用
    ~scanf()
    c++ set容器排序准则
    设置session,cookies
    JFinalConfig配置
    java重置Timer执行频率
  • 原文地址:https://www.cnblogs.com/yeungchie/p/15760858.html
Copyright © 2011-2022 走看看