始めるガイド
1. インストール
macOS / Linux
GitHubからソースコードをクローンして、ビルドしてください。
$ git clone https://github.com/ReoShiozawa/hajimu.git $ cd jp $ make $ make install
要件
- GCC 9.0+ または Clang 10.0+
- Make
- 標準ライブラリ(libcurl, libpthread)
検証
インストール後、以下のコマンドで動作確認してください。
$ nihongo --version nihongo version 0.1.0
2. はじめてのプログラム
テキストエディタで hello.jp というファイルを作成し、以下のコードを入力してください。
表示("こんにちは、世界!")
次に、コマンドラインで以下を実行します。
$ nihongo hello.jp こんにちは、世界!
おめでとうございます!最初のプログラムが完成しました。
3. 基本概念
変数
変数は値を保存する箱のようなものです。変数キーワードで宣言します。
変数 名前 = "太郎" 変数 年齢 = 25 表示(名前) 表示(年齢)
データ型
主なデータ型は以下の通りです。
// 数値
変数 整数 = 42
変数 小数 = 3.14
// 文字列
変数 文字 = "こんにちは"
// 真偽値
変数 フラグ = 真
// 配列
変数 配列 = [1, 2, 3]
// 辞書
変数 辞書 = {"キー": "値"}
演算
算術演算、比較、論理演算が使用できます。
// 算術演算 変数 a = 10 変数 b = 3 表示(a + b) // → 13 表示(a - b) // → 7 表示(a * b) // → 30 表示(a / b) // → 3 表示(a % b) // → 1 // 比較 表示(a > b) // → 真 表示(a == 10) // → 真 // 論理演算 変数 x = 5 表示(x > 3 かつ x < 10) // → 真 表示(x < 3 または x > 10) // → 偽
4. 制御構造
条件分岐
コードを条件に応じて分岐させることができます。
変数 点数 = 85
もし 点数 >= 90 なら
表示("優秀です")
それ以外 もし 点数 >= 70 なら
表示("合格です")
それ以外
表示("不合格です")
終わり
ループ
繰り返し処理ができます。
// while ループ
変数 i = 0
繰り返す i < 5:
表示(i)
i = i + 1
終わり
// for ループ
繰り返す j から 0 まで 5:
表示(j)
終わり
// 配列のループ
変数 配列 = ["りんご", "みかん", "ぶどう"]
各 果物 を 配列 の中:
表示(果物)
終わり
5. 関数
コードを再利用可能な関数として定義できます。
// 関数定義
関数 挨拶(名前):
表示("こんにちは、" + 名前)
終わり
// 関数呼び出し
挨拶("太郎")
挨拶("花子")
// 戻り値
関数 足す(a, b):
戻す a + b
終わり
変数 結果 = 足す(3, 5)
表示(結果) // → 8
6. 配列とリスト内包表記
配列操作
変数 配列 = [1, 2, 3] // 要素アクセス 表示(配列[0]) // → 1 表示(配列[-1]) // → 3 // 要素追加 追加(配列, 4) // 要素削除 削除(配列, 0) // 配列長 表示(長さ(配列))
リスト内包表記
配列から新しい配列を簡潔に生成できます。
// 基本形式 変数 数字 = [1, 2, 3, 4, 5] 変数 倍 = [n * 2 を n から 数字] 表示(倍) // → [2, 4, 6, 8, 10] // 条件付き(フィルタリング) 変数 偶数 = [n を n から 数字 もし n % 2 == 0] 表示(偶数) // → [2, 4] // 複合 変数 処理 = [n * n + 1 を n から 数字 もし n > 2] 表示(処理) // → [10, 17, 26]
7. クラスとオブジェクト
オブジェクト指向プログラミングでコードを整理できます。
クラス 猫:
関数 初期化(名前, 年齢):
自分.名前 = 名前
自分.年齢 = 年齢
終わり
関数 鳴く():
表示(自分.名前 + ": ニャー")
終わり
関数 自己紹介():
戻す 自分.名前 + "は" + 文字列化(自分.年齢) + "歳です"
終わり
終わり
// オブジェクト作成
変数 タマ = 新規 猫("タマ", 3)
// メソッド呼び出し
タマ.鳴く()
表示(タマ.自己紹介())