命令の一覧
Decree で使える命令をまとめました。左が日本語、右が英語の書き方です。どちらで書いても同じ意味です。
- ★ がついているものは、最初の版(v0.1)から使えるものです。ついていないものは、あとから使えるようになる予定です。
- 日本語の命令は、
をになどがついていれば順番を入れかえてもかまいません(ページ を 「a.txt」に 保存=「a.txt」に ページ を 保存)。 - 終わりの言い方も自由です(
保存保存する保存して保存せよ保存してください)。 - かっこの形でも書けます:
保存(ページ, 「a.txt」)。
画面
★ 表示する
画面に出して、行を変えます。
「こんにちは」と表示
点数 = 80
点数 を表示
表示 「点数は」, 点数say "hello"
score = 80
print score
print "score:", scoreこんにちは 80 点数は 80
, で並べると、間にスペースを入れてつなげて表示します。
★ 聞く
使う人に質問して、答えを受け取ります。計算に使うときは「数で聞く」。
名前 = 「お名前は?」と聞く
いくつ = 「何個ほしい?」と数で聞く
「{名前}さん、{いくつ}個ですね」と表示name = ask "Your name?"
n = ask number "How many?"
say "{name}, {n} of them"お名前は? › はなこ 何個ほしい? › 3 はなこさん、3個ですね
★ 待つ
決めた秒数だけ待ってから、次へ進みます。
「3 秒待ちます」と表示
3秒 待つ
「おまたせ」と表示say "Waiting 3 seconds"
wait 3 seconds
say "Done"画面を消す
結果の欄の文字を、ぜんぶ消します。
「消えるよ」と表示
1秒 待つ
画面を消す
「すっきり」と表示say "This will vanish"
wait 1 seconds
clear
say "Clean!"ファイル
ファイルの場所(「メモ.txt」 など)は、プログラムのファイルがある場所が基準です。
(「▶ 試す」のお試し欄では、このページの中だけの仮のファイルを使います。買い物.txt や 写真 フォルダなど、例で使うものは最初から入っています)
「フォルダ/メモ.txt」 のように / で区切ってフォルダの中も指せます(\ でもかまいません)。
★ 保存する
ファイルに書きます。同じ名前のファイルがあれば上書きします。
ファイル名が .csv や .json で終わっていれば、その形で書きます。
「たまご、牛乳」 を 「買い物.txt」に保存save "eggs, milk" to "shopping.txt"★ 追記する
ファイルの後ろに足します。前の中身は残ります。
「パン」 を 「買い物.txt」に追記append "bread" to "shopping.txt"★ 読む
ファイルを読みます。.csv は表のリスト、.json はその中身、それ以外は文字として読みます。
中身 = 「買い物.txt」を読む
中身 を表示text = read "shopping.txt"
say text★ ある(ファイルがあるか)
もし 「買い物.txt」が ある なら
「あります」と表示
おわりif exists "shopping.txt"
say "found it"
endファイル一覧
フォルダの中のファイル名のリストです。
一覧 = 「写真」 の ファイル一覧
一覧 を表示names = files in "photos"
say names消す(ファイル)
ファイルをごみ箱へ入れます。完全には消さないので、まちがえてもごみ箱から戻せます。
「古いメモ.txt」を 消すdelete "old-memo.txt"作る(フォルダ)
フォルダを作ります。
「まとめ」 を 作るmake folder "archive"Web
★ 取ってくる
Web のページを取ってきます。取ってきたページからは の で中身を取り出せます(下の表)。
(お試し欄では、本物の代わりに見本のページを使います)
ページ = 「https://example.com」を取ってくる
ページ の 題名 を表示page = fetch "https://example.com"
say page.titleExample Domain
| 日本語 | 英語 | 中身 |
|---|---|---|
ページ の 本文 |
page.text |
ページの文字だけ |
ページ の 題名 |
page.title |
ページの題名 |
ページ の 見出し |
page.headings |
大きな字の見出しのリスト |
ページ の リンク |
page.links |
リンク先のアドレスのリスト |
ページ の 画像 |
page.images |
画像のアドレスのリスト |
ページ の 表 |
page.tables |
ページの中の表 |
ページ の データ |
page.data |
中身が JSON のとき、読んだもの |
ページ の HTML |
page.html |
ページの元の形(HTML) |
ページをそのまま 表示 や 保存 すると、本文 が使われます。
ページの一部だけ取ってくる
画像一覧 = 「https://example.com」から 画像 を取ってくるpictures = fetch images from "https://example.com"開く
ブラウザでページを開きます。
「https://example.com」を開くopen "https://example.com"文字
★ 長さ
「こんにちは」 の 長さ を表示say length of "hello"5
"hello".length とも書けます。
★ 置き換え
文字の中の一部を、別の文字に置きかえます。
文 = 「りんごが好き」
新しい文 = 文 の 「りんご」 を 「みかん」 に置き換え
新しい文 を表示s = "I like apples"
t = replace "apples" with "oranges" in s
say tみかんが好き
★ 分ける
区切りの文字で分けて、リストにします。
色 = 「赤,青,黄」 を 「,」 で分ける
色 を表示colors = split "red,blue,yellow" by ","
say colors[赤, 青, 黄]
★ つなげる
リストを、間に文字をはさんで 1 つの文字にします。
色 = [「赤」, 「青」, 「黄」]
色 を 「・」 でつなげる を表示colors = ["red", "blue", "yellow"]
say join colors with " / "赤・青・黄
★ 含む
文字やリストの中に、あるものが入っているか確かめます。
文 = 「わたしはねこが好き」
もし 文 が 「ねこ」 を含む なら
「ねこ好きだ!」と表示
おわりs = "I love cats"
if s contains "cat"
say "A cat lover!"
endねこ好きだ!
大文字・小文字
「hello」 の 大文字 を表示say upper "hello"HELLO
数に・文字に
「42」 のような文字を数に、数を文字にします。
n = 「42」 を数に
n + 1 を表示n = number "42"
say n + 143
数
★ 乱数(でたらめな数)
A から B までのどれか 1 つ(整数)を、でたらめに選びます。
さいころ = 1 から 6 の 乱数
「{さいころ} が出ました」と表示dice = random 1 to 6
say "You rolled {dice}"4 が出ました
出る数は、▶ を押すたびに変わります。
★ 四捨五入・切り捨て・切り上げ
3.6 を四捨五入 を表示
3.6 を切り捨て を表示
3.2 を切り上げ を表示say round 3.6
say floor 3.6
say ceil 3.24 3 4
絶対値・平方根
-5 の 絶対値 を表示
16 の 平方根 を表示say abs -5
say sqrt 165 4
★ 合計・平均・最大・最小
点数 = [80, 65, 92]
「合計 {点数 の 合計}、平均 {点数 の 平均}」と表示
「最高 {点数 の 最大}、最低 {点数 の 最小}」と表示scores = [80, 65, 92]
say "sum {sum scores}, average {average scores}"
say "best {max scores}, worst {min scores}"合計 237、平均 79 最高 92、最低 65
リスト・表
★ 追加
リストの後ろに足します。(英語の add は、相手が数なら足し算になります)
果物 = [「りんご」, 「みかん」]
果物 に 「もも」 を追加
果物 を表示fruits = ["apple", "orange"]
add "peach" to fruits
say fruits[りんご, みかん, もも]
★ 〇番目・最後
先頭は 1 番目 です。
果物 = [「りんご」, 「みかん」, 「もも」]
果物 の 2番目 を表示
果物 の 最後 を表示fruits = ["apple", "orange", "peach"]
say fruits[2]
say last of fruitsみかん もも
果物[2] とも書けます。
★ 消す(リストから)
果物 = [「りんご」, 「みかん」, 「もも」]
果物 から 2番目 を消す
果物 を表示fruits = ["apple", "orange", "peach"]
remove item 2 from fruits
say fruits[りんご, もも]
★ 並べ替え・逆順
点数 = [80, 65, 92]
点数 を並べ替え を表示
点数 を逆順 を表示scores = [80, 65, 92]
say sort scores
say reverse scores[65, 80, 92] [92, 80, 65]
並べ替え と 逆順 は、リストそのものの順番を変えます。上の例では、並べ替えたあとのリストを逆順にしているので、
大きい順になります。
★ 数(いくつあるか)
果物 = [「りんご」, 「みかん」, 「もも」]
「{果物 の 数} 個あります」と表示fruits = ["apple", "orange", "peach"]
say "{count of fruits} items"3 個あります
果物 の 長さ、果物 の 個数、fruits.length も同じです。
表とキー一覧
{ } で「名前つきの入れもの」(表)が作れます。の で中身を取り出します。
人 = {名前: 「たろう」, 年齢: 12}
人 の 名前 を表示
人 の キー一覧 を表示person = {name: "Taro", age: 12}
say person.name
say keys of personたろう [名前, 年齢]
時間
★ 今日・今
今日 を表示
今 を表示say today
say now今の時・分・年
「今は {今 の 時} 時です」と表示say "It is {now.hour} o'clock"命令ではないけれど、よく使う書き方
| やりたいこと | 日本語 | 英語 | くわしく |
|---|---|---|---|
| 名前をつける | 点数 = 80 |
score = 80 |
2 章 |
| 増やす・減らす | 点数 を 10 増やす |
add 10 to score / score += 10 |
3 章 |
| もし | もし … なら 〜 おわり |
if … 〜 end |
5 章 |
| くりかえす | 3回くりかえす 〜 おわり |
repeat 3 〜 end |
6 章 |
| やることをまとめる | やること 名前(…) 〜 おわり |
to name(…) 〜 end |
8 章 |
日本語と英語の対応は 英語の書き方まとめ にもまとめてあります。