0
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?

こんにちは!Success Blue、奇曲宮夢です!

前回は、Similarityの設計思想と文法についてお話ししました。

今回は、いよいよSimilarityの書き方について紹介します!

「文法は分かったけど、実際にはどう書くの?」

そんな疑問に答えながら、基本的な書き方を一緒に見ていきましょう!


まずは変数と制御フロー!

プログラミングをする上で、ほぼ必ず登場するものがあります。

それが、

  • 変数
  • 条件分岐
  • ループ

です。

このうち、条件分岐ループは、まとめて制御フローと呼ばれます。

どんなプログラミング言語でも、この3つは避けて通れません。

もちろん、Similarityでも同じです。

では、まずは最も基本となる変数宣言から見ていきましょう。

Variable[let{int(x:12)}]

一見すると少し独特な文法に見えるかもしれません。

ですが、前回紹介した

カテゴリ[操作{引数}]

というルールに当てはめると、とてもシンプルです。

  • Variable …… 変数というカテゴリ
  • let …… 宣言するという操作
  • int(x:12) …… 型・変数名・初期値という情報

つまり、

「変数カテゴリで、宣言を行い、int型の変数xを12で初期化する」

という意味になります。


条件分岐

続いて、条件分岐です。

Similarityでは、条件分岐は次のように書きます。

If[
  check{条件},
  True{
    真だった場合の処理
  },
  False{
    偽だった場合の処理
  }
]

ここで、

「なぜTrueFalseがあるの?」

と思った方もいるかもしれません。

理由は、とてもシンプルです。

Ifは、条件が真(True)か偽(False)かを判断するカテゴリだからです。

そのため、

  • check …… 条件を確認する
  • True …… 条件が真だった場合の処理
  • False …… 条件が偽だった場合の処理

という意味を持った子要素を持っています。

Similarityでは、「if文」という構文が存在するわけではありません。

Ifというカテゴリが存在し、その役割に応じた子要素を持つ。

それがSimilarityの考え方です。


ループ

次は、ループ(制御フロー)です。

ループも、条件分岐と同じ考え方で設計されています。

Loop[
  check{継続条件},
  for{
    初期化,
    更新
  }
]

ここでも、

  • Loop …… 繰り返しというカテゴリ
  • check …… ループを継続するかどうかを判断する
  • for …… 初期化や更新など、ループの制御を行う

という意味になっています。

つまり、

「Loopだから、この子要素を持つ。」

ということです。

文法として覚えるのではなく、それぞれの単語が持つ役割を理解することで、自然とコードを読めるようになります。


Similarityの考え方

ここまで見ていただければ分かるように、Similarityでは文法そのものを増やすことはしていません。

私が大切にしているのは、

「ルールに意味はありません。単語にこそ意味があります。」

という考え方です。

Variableには変数という意味があり、

Ifには条件分岐という意味があり、

Loopには繰り返しという意味があります。

そして、それぞれが必要な子要素だけを持っています。

私は、この考え方によって、

「文法を暗記する」のではなく、「単語の意味を理解する」

プログラミング言語を目指しています。

Similarityは、構文を書く言語ではありません。

意味を組み立てる言語です。

これが、Similarityの文法の根幹となる設計思想です。


次回について

次回は、関数や独自のサポートシステムについて紹介します。

関数の定義方法や引数、戻り値、呼び出し方などを、実際のコードを交えながら解説していきます。

0
0
0

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
0
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?