DEV Community

loading...

Emojicode FizzBuzz

Yuta Goto
hello
・1 min read

この記事は、雑談Slack Advent Calendar 2019 の13日目の記事です。 📆

https://adventar.org/calendars/4684

Emojicodeというプログラミング言語(?)を用いてFizzBuzzを書いたので、かんたんに読み解いていきます。 💻

https://www.emojicode.org/

emoji-fizzbuzz

Compile

$ emojicodec fizzbuzz.emojic

Run

$ ./fizzbuzz




🏁 🍇
  1 ➡️ 🖍🆕 i

  🔁 i ◀️🙌 15 🍇
    ↪️ i 🚮 15 🙌 0 🍇
      😀 🔤FizzBuzz🔤❗️
    🍉
    🙅↪️ i 🚮 5 🙌 0 🍇
      😀 🔤Buzz🔤❗️
    🍉
    🙅↪️ i 🚮 3 🙌 0 🍇
      😀 🔤Fizz🔤❗️
    🍉
    🙅 🍇
      😀 🔡 i 10❗️❗️
    🍉
    i ➕ 1 ➡️🖍 i
  🍉
🍉
  • 🏁でメイン関数
  • 🍇 🍉でブロックの始めとおわり
  • ➡️ :lower_left_crayon:🆕 変数代入
  • 🔁 Whileループ
  • ◀️🙌 小なりイコール ≦
  • ↪️ if
  • 🚮 剰余算
  • 🙌 イコール
  • 😃 文字列標準出力
  • 🔤 文字列を囲むダブルクォーテーションのような働きをするやつ
  • ❗ 閉じカッコのようなもの。Booleanの頭の方にあったら否定する働きももつ。
  • 🙅↪️ elseif
  • 🙅 else
  • 🔡 整数値を文字列に変換する
  • ➕ +

なのでよくみる言語で書き直すと、

# ruby
def main
  i = 1

  while i <= 15
    if i % 15 == 0
      puts "FizzBuzz"
    elsif i % 5 == 0
      puts "Buzz"
    elsif i % 3 == 0
      puts "Fizz"
    else
      puts i.to_s
    end
    i = i + 1
  end
end
# python3
def main():
  i = 1

  while i <= 15:
    if i % 15 == 0:
      print("FizzBuzz")
    elif i % 5 == 0:
      print("Buzz")
    elif i % 3 == 0:
      print("Fizz")
    else:
      print(str(i))

    i = i + 1

とかなります。

入力はかなり大変ですが、見た目に慣れてしまえばかなり楽しいです。

Discussion (0)