Elixir
Mock を使ったテストを覚えたので、そのメモです。 全容は GitHub に置いてあります。 https://github.com/mattsan/test_with_mocks_ex リポジトリ名は test_with_mocks_ex ですが、中の Elixir のプロジェクト名 は fizz_buzz になってます。気をつけて。 …
由緒正し I18n の仕組みということを、 Phoenix を触るようになって初めて知りました。 gettext - Wikipedia Phoenix ではプロジェクトを作成すると自動的にパッケージが追加されますが、通常の Elixir プロジェクトで利用する手順を調べました。 くわしくは…
Elixir で文字列から数値に変換するときに String.to_integer/1 や String.to_float/1 を使いますが、前者は浮動小数点数値の文字列を与えると、後者は整数値の文字列を与えると例外を投げてしまいます。 iex(1)> String.to_integer("123") 123 iex(2)> Stri…
Elixir のテストの assert は引数が一つで、一つの式を与えるのですが、左辺と右辺のそれぞれの値を把握しています。 例えば。 適当なプロジェクトを作り、 $ mix new foo $ cd foo テストをこんな風に書いて、 # test/foo_test.exs defmodule FooTest do us…
# 鶩 defmodule Duck do defstruct name: nil end # 犬 defmodule Dog do defstruct name: nil end # 猫 defmodule Cat do defstruct name: nil end # 鳴くプロトタイプ defprotocol Sound do def sound(_) end # 鶩が鳴く実装 defimpl Sound, for: Duck do …
OptionParser.parse(["--show-all"], [switches: [show_all: :boolean]]) # => {[show_all: true], [], []} OptionParser.parse(["--show_all"], [switches: [show_all: :boolean]]) # => {[], [], [{"--show_all", nil}]} Elixir converts switches to unde…
Elixir でコールバックってどうやって実装しているのだろうと調べてみたら、マクロで実現されていました。なるほど。 その昔 C 言語でマクロを使ってコードを生成していたのを思い出した。 そんなわけで。マクロを使って「どう書く」のテストを実行するモジ…
前回開催からおよそ1年半。第3回社内向けどう書くを開催しました。 プログラミングElixir 現在、社内で「プログラミングElixir」の読書会を開催しています。プログラミングElixir作者: Dave Thomas,笹田耕一,鳥井雪出版社/メーカー: オーム社発売日: 2016/08…
Elixir を学んでいます。 ビットをもっと自由自在に扱えるようにしてみた 7 年ほど前にビット操作を支援するコードを C++ で書いたことがあります。 ビットをもっと自由自在に扱えるようにしてみた。 - エンジニアのソフトウェア的愛情 ビットをもっと自由自…
Exredis を使っています。 GitHub - artemeff/exredis: Redis client for Elixir defmodule Subscribe do def sub(channel) do {:ok ,client_sub} = Exredis.Sub.start_link pid = Kernel.self Exredis.Sub.subscribe(client_sub, channel, fn msg -> send(p…
# Rpn.eval "3 1 - 2.1 +" # => 4.1 defmodule Rpn do def eval(expression) do eval(tokenize(expression), []) end defp eval([], [result]), do: result defp eval(["+"|tokens], [rhs, lhs|stack]), do: eval(tokens, [lhs + rhs | stack]) defp eval(["…
プログラミング Elixir を読んでいます。プログラミングElixir作者: Dave Thomas,笹田耕一,鳥井雪出版社/メーカー: オーム社発売日: 2016/08/19メディア: 単行本(ソフトカバー)この商品を含むブログ (3件) を見る Elixir プログラミング Elixir の第5章で …