爱问知识人 爱问教育 医院库

flatten 什么作?

首页

flatten 什么作?

erlang lists:flatten 什么作用

提交回答

全部答案

    2013-10-09 18:50:25
  • lists模块的操作,看到flatten的操作不是很理解,所以查了查,看到一个不错的帖子,学习学习 (转)关键技术点: erlang中string 就是list

    C***

    2013-10-09 18:50:25

  • 2013-10-09 18:49:58
  •   erlang中string 就是list,所以没有list_to_string或string_to_list的函数,但是,对于借助erlydtl生成的如下脚本:
    ["/ntotal ","1"," page num is/n/n  colName1colName2/n  ",[["/n  /n  ","22384814347478301","/n  ",['list8888','test8888'],"/n  /n  "],["/n  /n  ","12384814347478301","/n  ",['list9999','test9999'],"/n  /n  "]],"/n/n/n"]
    erlang自带的 inets是无法解析的,我们需要去掉除最外的"[“和 ”]"之外的所有"[" "]",通过lists:flatten()可以去掉。
      但是,前提是每个ListofList的元素不能是atom,比如:上面的html,如果直接 lists:flatten(["/ntotal ","1"," page num is/n/n colName1colName2/n ",[["/n /n ","22384814347478301","/n ",['list8888','test8888'],"/n /n "],["/n /n ","12384814347478301","/n ",['list9999','test9999'],"/n /n "]],"/n/n/n"])。
       结果是: [60,99,101,110,116,101,114,62,10,60,104,50,62,116,111,116, 97,108,32,49,32,112,97,103,101,32,110,117,109|。。。] 如果将['list8888','test8888']换成 “['list8888','test8888']”或者["list8888","test8888"]就可以了 eg: 1)lists:flatten(["/ntotal ","1"," page num is/n/n colName1colName2/n ",[["/n /n ","22384814347478301","/n ",["list8888","test8888"],"/n /n "],["/n /n ","12384814347478301","/n ",["list9999","test9999"],"/n /n "]],"/n/n/n"])。
       结果: "/ntotal 1 page num is/n/n colName1colName2/n /n /n 22384814347478301/n list8888test8888/n /n /n /n 12384814347478301/n list9999test9999/n /n /n/n/n" 2)lists:flatten(["/ntotal ","1"," page num is/n/n colName1colName2/n ",[["/n /n ","22384814347478301","/n ","['list8888','test8888']","/n /n "],["/n /n ","12384814347478301","/n ","['list9999','test9999']","/n /n "]],"/n/n/n"])。
       结果: "/ntotal 1 page num is/n/n colName1colName2/n /n /n 22384814347478301/n ['list8888','test8888']/n /n /n /n 12384814347478301/n ['list9999','test9999']/n /n /n/n/n" (下面的操作很犀利!) 所以现在的问题是如何实现在 一个tuple或者一个list的前后加上 双引号(""),方法如下: 用lists:flatten(io_lib:write或lists:flatten(io_lib:format("~p"。
      。。来实现, eg: 1)List1=[aaa,bbb]。 lists:flatten(io_lib:write(List1))。 结果: "[aaa,bbb]" 2)lists:flatten(io_lib:format("~p",[List1]))。
       结果: "[aaa,bbb]" 注意:format的第一个参数用~p可以用多行显示,比~w更能保持变量的原样,第二个参数一定要是List,所以要用"[]"将变量扩起来,(亲,记得点击下方【好评】哦,您的好评是我最大的动力,么么哒~)。
      

    阿***

    2013-10-09 18:49:58

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):