ソースコード

SNVリポジトリ

文法

コメント

一行コメント

(^_^) < コメント

複数行コメント

…… コメント(改行可) ……。

リテラル

文字

#文字

文字列

文字列

シンボル

< シンボル >

正規表現

/ 正規表現 /

配列

[ 要素 要素 要素 ]

ハッシュ

{}

ブロック

処理

メッセージ送信

単項メッセージ

レシーバー メッセージ

  『文字列』の文字数。     (^_^) < 6 (レシーバー:文字列、メッセージ:の文字数)
  [1・2・3] のいずれか。(^_^) < 1 (レシーバー:[1・2・3]、メッセージ:のいずれか)

キーワードメッセージ

レシーバー 助詞、 引数 助詞、 引数 メッセージ

助詞と引数の組の数は任意です。0のときは単項メッセージに一致します。

  『あいうえお』に、『かきくけこ』を繋ぐ。       (^_^) < 『あいうえおかきくけこ』
  • レシーバー: あいうえお
  • メッセージ: に、を繋ぐ
  • 引数: かきくけこ
  『あいうえお』の、2番目に、『ホゲ』を挿入する。(^_^) < 『あホゲいうえおかきくけこ』
  • レシーバー: あいうえお
  • メッセージ: の、に、を挿入する
  • 引数: 2・ホゲ

代入

変数

文字列 は 『』。 (^_^) < 文字列を空に初期化

分岐(ただのメッセージ送信)

「『あいうえお』の文字数 が、10 に等しい。」 が本当なら、「『10文字ですね』。」を実行する。

  • レシーバー: 「『あいうえお』の文字数 が、10 に等しい。」
  • メッセージ: が本当なら、を実行する
  • 引数: 「『10文字ですね』。」

繰返し(ただのメッセージ送信)

10 回、「文字列 は 文字列 と、『あ』の連結。」を繰り返す。

  • レシーバー: 10
  • メッセージ: 回、を繰り返す
  • 引数: 「文字列 は 文字列 と、『あ』の連結。」

「文字列 の文字数 が、10 より小さい。」なら、「文字列 は 文字列 と、『あ』の連結。」を繰り返す。

  • レシーバー: 「文字列 の文字数 が、10 より小さい。」
  • メッセージ:なら、を繰り返す
  • 引数: 「文字列 は 文字列 と、『あ』の連結。」

その他

特殊変数

「それ」「あれ」はそれぞれ一つ前と二つ前の実行結果を表します。

  『あいうえお』の、2番目に、『ホゲ』を挿入する。
  それ に、『かきくけこ』を繋ぐ。
  それ に、あれ を繋ぐ。 (^_^) < あホゲいうえおかきくけこあホゲいうえお

コメントとしての接続詞

文の一番最初にある「文字列、」は接続詞と見なされて処理に影響を与えません。

  『あいうえお』の、2番目に、『ホゲ』を挿入する。
  加えて、それ に、『かきくけこ』を繋ぐ。
  さらに、それ に、あれ を繋ぐ。

プログラム例 (じゃんけん)

(^_^) < 以下のプログラムはユーザーからの入力(0 or 1 or 2)を受け付けて、コンピューターの手と比較して勝敗を表示します。

<<もの>> の一種として、 <じゃんけん> を作る。

<<じゃんけん>> にメソッド、『ほいっ、(あなたの手) は?』 を定義し、「対応表 は {0→『グー 』・1→『チョキ 』・2→『パー 』}。あなたの手 を数値に変換する。あなたの手 は それ。私の手 は [0・1・2] のいずれか。勝敗 は あなたの手 と、私の手 の差。対応表 の、あなたの手 の値。対応表 の、私の手 の値。対戦結果 は あれ に、それ を繋ぐ。「勝敗 が、 0 と等しい。」なら、「対戦結果 に、『:引き分け』を繋ぐ。」そうじゃないとき、「「勝敗 が、 1 と等しい または、(勝敗 が、 -2 と等しい) が成り立つ。」なら、「対戦結果 に、『:あなたの負け』を繋ぐ。」そうじゃないとき、「「勝敗 が、 -1 と等しい または、(勝敗 が、 2 と等しい) が成り立つ。」なら、「対戦結果 に、『:あなたの勝ち』を繋ぐ。」を実行する。」を実行する。」を実行する。」を処理する。

<<じゃんけん>> にメソッド、『を開始する』 を定義し、「あなたの手 は 『』。「[『0』・『1』・『2』] に、あなたの手 が含まれる?。」まで、「『0:グー、1:チョキ、2:パー』を表示する。あなたの手 を <<キーボード>> から読み込む。あなたの手 の改行を除く!。」を繰り返す。私 ほいっ、あなたの手 は?。」を処理する。

じゃんけん は <<じゃんけん>> の実体。じゃんけん を開始する。結果 を表示する。

……実際のところ自分でもこれは使いたくないなと思います……。

実行結果

  0:グー、1:チョキ、2:パー
  0
  グー チョキ:あなたの勝ち