Elixirを触ってみた

ErlangのVM上で動作する、文法はRubyのようなものですね。

Erlangの資産を使えます。ErlangはConcurrencyな処理では以前より使われていると聞くので、Rubyをそのような方面でも使えるようにといったコンセプトでは面白いですね。

exercismでは、Elixir向けの問題も提供しているので、少しやってみました。

以下のような感じでコードがかけます。

defmodule Teenager do
  def hey(input) do
    cond do
      String.upcase(input) == input &&
       ( Regex.match?(~r/[A-Z]+[^\?]\z/, input) || Regex.match?(~r/[\w]+[^\?]\z/u, input)) ->
        "Whoa, chill out!"
      Regex.match?(~r/\?\z/, input) ->
        "Sure."
      Regex.match?(~r/\A\s+\z/, input) || input == "" ->
        "Fine. Be that way!"  
      true ->
        "Whatever."
    end
  end
end

Gistはこちら: https://gist.github.com/KazuCocoa/b2c3d910d33c16210fc1

Rubyを少し書いたことがあると、大きくつまづくことはなさそう。
なるほどね。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中