hanachandevelop

つぶやいています。

プログラミング

Elixir学びの形跡(2)

投稿日:4月 4, 2017 更新日:

Binaries, strings, and char lists – Elixir

## UTF-8 and Unicode

Elixirでは、?(文字)で文字コードが得られる。楽しい。

iex> ?a
97
iex> ?ł
322

codepointsというfunctionがかっこいい。

iex> String.codepoints("hełło")
["h", "e", "ł", "ł", "o"]

Elixirでは<<>>でバイナリが定義できる。

iex> <<0, 1, 2, 3>>
<<0, 1, 2, 3>>
iex> byte_size(<<0, 1, 2, 3>>)
4

文字列連結操作は実際はバイナリ連結操作とのこと。

iex> <<0, 1>> <> <<2, 3>>
<<0, 1, 2, 3>>

 

Elixirで使えるトリックとして、文字列にNullバイトを追加して文字列のバイナリ表現を見ることができるらしい。

 

iex> "hełło" <> <<0>>
<<104, 101, 197, 130, 197, 130, 111, 0>>

バイナリとは8で割り切れるビット。

iex>  is_binary(<<1 :: size(16)>>)
true
iex>  is_binary(<<1 :: size(15)>>)
false

シングルクォートでかこむとchar listになります。数字はコードポイントといって文字集合に対する数値のある種の振り方ですね。

iex> 'hełło'
[104, 101, 322, 322, 111]
iex> is_list 'hełło'
true
iex> 'hello'
'hello'
iex> List.first('hello')
104

奥が深すぎる、、w



 

-プログラミング

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Youtubeのおすすめチャンネル

最近は読書するようになったり、Podcastを聞いたりして勉強してるのですが、まだまだ映像でわかりやすく教えてほしいゆとり世代のはなちゃんです。笑

ドキュメントをスマホ、タブレットでも読めるようにするDash

初めまして、はなちゃんです。 プログラミング、読書、外国語など、勉強したことを書き残して自分用の復習になったり、これから同じことを勉強する人たちの助けになったらいいなと思いこのブログを始めました。よろ …

Elixir学びの形跡

ターミナルで iex でインテラクティブモード。 インテラクティブモードでチュートリアルを遊んでみた。 http://elixir-lang.org/getting-started/basic-typ …

googleサービスとSublime Textはショートカットをマスターしたいのでメモしておく

生産性を上げるためには、生産性を上げる時間、努力をそこにかけるしかないですね。

CSS3

1年くらい前、CSSとか触っていた時のことを思い出しつつ書いていきたいと思います。

はなちゃん :
大阪の北のほうで戦っている大学生。
フィリピンにプログラミング留学したり、ベトナムで働いたりした。現在はまた戦っているっぽい。

Bitnami