[ElixirCast] - Elixir入门 06 - Binaries, strings and char lists

作者 jw2013 所属板块 视频
jw2013渣渣的渣渣视频。主要讲了字符集,码位,编码,Elixir中的Binary和Char lists。明白了这些,就能明白Elixir里的字符串(String)是什么:字符串是UTF-8编码的Binary。 http://pan.baidu.com/s/1ntuWbg9 补充: 1) 13分05秒。视频里说了,如果用binary修饰符来match,那只能把要match的变量放最后,比如下面的使用方法会报错。 ``` iex(1)> <<x :: binary, 3>> = <<1, 2, 3>> ** (CompileError) iex:4: a binary field without size is only allowed at the end of a binary pattern ``` 因为x放在前面了。如果要把x放在前面来match的话,就要指定x的大小(size)。比如上面的列子里,如果想要match成功,显然x的大小为16个bits,所以下面的使用方法可以成功: ``` iex(2)> <<x ::size(16), 3>> = <<1, 2, 3>> <<1, 2, 3>> iex(3)> x 258 ``` 2) 10分03秒。因为视频里说了,输出值和预期值不一样是因为溢出。忘了在这里也提及是因为溢出了。听众可能不说就会有点奇怪为啥输出是码位是64的"@"。原因也是溢出,一百万已经远远的超出了默认的每个位置是一个byte大小(也就是说2^8=256个值),然后:1,000,000 mod 256 = 64。64对应的字符是@。
12 回复
  • Cifer 发表
    辛苦了,膜拜教主
  • jw2013 发表
    [@Cifer](/users/14) 没看就黑我 :sob: 小弟做人不容易啊。。。
  • James 发表
    辛苦啦,论坛有两位大神的营养供给,国内关注Elixir的人会越来越多。
  • jw2013 发表
    [@James](/users/90) 大神求您也做啊。。还剩15个入门视频,做不完了。
  • 洛城王十亿 发表
    @jw2013, 顶一个,太有营养
  • tony612 发表
    辛苦!
  • deHauteville 发表
    辛苦辛苦膜拜教主
  • oop99 发表
    赞, 非常感谢, 辛苦了
  • csoop 发表
    楼主,辛苦,辛苦!
  • beiwang 发表
    教程已看完,求后续。 小白,表示教程浅显易懂,受益良多
  • allen 发表
    感谢大神,新来的小白
  • shisongsong 发表
    同小白,感觉目前没人交流的话迟早会进入误区的,感谢楼主的教程,也希望社区发展的越来越好