はじめに
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
まとめ
これで古いコードを修正するとき、かなり手間が減りそうです