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を少し書いたことがあると、大きくつまづくことはなさそう。
なるほどね。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s