7
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ElixirAdvent Calendar 2024

Day 5

Elixir 1.18 の mix format --migrate を試してみる

Last updated at Posted at 2024-12-12

はじめに

Elixir 1.18 のリリース候補(RC版)が出ました

mix format --migrate で非推奨コードの自動修正ができるようになったとのことで試してみます

Elixir 1.18.0-rc.0 のインストール

asdf で 1.18.0-rc.0 をインストールしました

asdf install elixir 1.18.0-rc.0

カレントディレクトリー配下で 1.18.0-rc.0 を使うように指定します

asdf local elixir 1.18.0-rc.0

プロジェクトの作成

新しいプロジェクトを作成します

mix new old

Elixir プロジェクトに必要な最低限のディレクトリー構造とファイルが作成されます

ディレクトリー内に移動します

cd old

非推奨コードの実装

lib/old.ex を以下のように変更します

defmodule Old do
  def hello do
    <<foo::binary()>> = "hello"

    IO.puts(foo)

    unless true do
      IO.puts('hello')
    end
  end
end
  • <<foo::binary()>>() は不要になりました
  • unless は非推奨になりました
  • '' は c シギルで書くのを推奨しています

非推奨コードの自動修正

以下のコマンドを実行します

mix format --migrate

lib/old.ex が以下の内容に修正されています

defmodule Old do
  def hello do
    <<foo::binary>> = "hello"

    IO.puts(foo)

    if !true do
      IO.puts(~c"hello")
    end
  end
end

まとめ

これで古いコードを修正するとき、かなり手間が減りそうです

7
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?