Blogaomu

WEBアプリケーション開発とその周辺のメモをゆるふわに書いていきます。

kanazawa.rb meetup #65 に参加しました #kzrb

kzrb.doorkeeper.jp

新年一発目のkzrbはいつも通りElixir本を読み進めつつ、 @wtnabe さんにCloudFormationの話を聞きつつという感じでやってました。

会場であるITビジネスプラザ武蔵のCRITに『ルビィのぼうけん』が置いてありました。Kickstarterで少しばかりのお金を支援したのは懐かしいです。

ルビィのぼうけん こんにちは!プログラミング

ルビィのぼうけん こんにちは!プログラミング

プログラミングElixir

第11章

  • "" で囲まれたものは文字列リテラルとなる
  • """""" でヒアドキュメントが書ける
  • ~c などのようなものをシジル(sigil)と呼ぶ
    • 自分でシジルを定義できるらしい
  • '' で囲まれたものは文字コードのリストとなる(=整数値のリスト)
    • iexは整数のリストを印字可能であれば文字列として出力する
iex> [67, 55,84]
'C7T'
  • <<>> で囲まれたものはバイナリリテラルとなる
    • ビット列を表す
    • <<4>> は1バイトのデータ
      • 数字が項に入るとバイトの並びとして格納される
iex(47)> b = << 1::size(2), 1::size(3) >>
<<9::size(5)>> # => 01001
iex(48)> byte_size b
1
iex(49)> bit_size b
5
iex(57)> agyou =  "あいうえお"
"あいうえお"
iex(58)> String.length agyou
5
iex(59)> byte_size agyou
15
  • Stringモジュールの関数たち
  • 書記素(grapheme)とコードポイントは別で扱っているのが特徴的

  • String.next_codepoint は [head|tail] っぽい感じ
  • バイナリの最初のルール「疑わしければ、各フィールドの型を指定せよ」
    • 利用可能な型 binary, bits, bitstring, bytes, float, integer, utf8, utf16, utf32
  • 文字列を含むバイナリでhead/tailを分けたい

第11章はまだページ数的には半分行ってなくて次の章に制御構造が出てきたりと、おなじみの概念が後の方に出てくるのがすごいHaskell本と似ているなあと思った。

プログラミングElixir

プログラミングElixir

すごいHaskellたのしく学ぼう!

すごいHaskellたのしく学ぼう!

余談だけど、頭がぼんやりしていてあんまり集中できなかった。この週はずっとこんな感じでつらい。。

懇親会

www.hotpepper.jp

www.hotpepper.jp

www.hotpepper.jp

なんか唐揚げ食べたい!っていう流れになって丸二さん行きたかったけど満席でいけなかったのが残念。

もつ鍋美味しかった。ひたすらもつ鍋食べたい。