プログラミング言語「ドリトル」

大阪電気通信大学 兼宗研究室

ユーザ用ツール

サイト用ツール


ch_syntax

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン 両方とも次のリビジョン
ch_syntax [2020/07/11 04:49]
klab [中置記法]
ch_syntax [2020/07/11 04:54]
klab [配列の生成と参照]
ライン 148: ライン 148:
 「!」の前に何もないときは、そのメソッドを持っているオブジェクトが指定されているものとして扱われる。また、特別な名前「自分」もメソッドを持っているオブジェクトを指定するのに使うことができる。従って上の例は「自分!…」のように書いてもよい。 「!」の前に何もないときは、そのメソッドを持っているオブジェクトが指定されているものとして扱われる。また、特別な名前「自分」もメソッドを持っているオブジェクトを指定するのに使うことができる。従って上の例は「自分!…」のように書いてもよい。
  
-{{:​pasted:​20180103-210342.png}}+{{:​pasted:​20180103-210342.png?500}}
  
 ブロックは1つの式であり、最後に評価した式の値をブロック全体の値として返す。メソッドから値を返したいときはこれを利用する。上の例では、最後に評価されるのはメソッド「歩く」なので、それが返した値、つまりかめた自身が「曲がって動く」の返す値となる。そこで引き続きかめたに対するメソッド「横の位置?」を呼び出してそのX座標を調べているわけである。 ブロックは1つの式であり、最後に評価した式の値をブロック全体の値として返す。メソッドから値を返したいときはこれを利用する。上の例では、最後に評価されるのはメソッド「歩く」なので、それが返した値、つまりかめた自身が「曲がって動く」の返す値となる。そこで引き続きかめたに対するメソッド「横の位置?」を呼び出してそのX座標を調べているわけである。
ライン 163: ライン 163:
 </​code>​ </​code>​
  
-{{:​pasted:​20180103-210401.png}}+{{:​pasted:​20180103-210401.png?250}}
  
 次のプログラムを実行すると、初期値が0の変数「a」に1を加える処理を10回行い、結果として画面に10が表示される。 次のプログラムを実行すると、初期値が0の変数「a」に1を加える処理を10回行い、結果として画面に10が表示される。
ライン 192: ライン 192:
 </​code>​ </​code>​
  
-{{:​pasted:​20180103-210421.png}}+{{:​pasted:​20180103-210421.png?200}}
  
 たとえば、100以上の値を持つ最初のフィボナッチ数を表示させるプログラムは次のようになる。 たとえば、100以上の値を持つ最初のフィボナッチ数を表示させるプログラムは次のようになる。
ライン 213: ライン 213:
 いずれも、1番目のブロックを実行した結果が真であれば2番目のブロックが実行される。さらに下の形では、2番目のブロックが実行されなかった場合は3番目のブロックが実行される。メソッド「なら」や「そうでなければ」はこれらの制御を適宜行うためのオブジェクトを返す。 いずれも、1番目のブロックを実行した結果が真であれば2番目のブロックが実行される。さらに下の形では、2番目のブロックが実行されなかった場合は3番目のブロックが実行される。メソッド「なら」や「そうでなければ」はこれらの制御を適宜行うためのオブジェクトを返す。
  
-{{:​pasted:​20180103-210442.png}}+{{:​pasted:​20180103-210442.png?550}}
  
 次のプログラムを実行すると、最初に1から10までの乱数を発生し、変数「数」に入れる。続いて、「数」が5より大きいかを判定し、真のときは「なら」に続くブロックを実行し、偽のときは「そうでなければ」に続くブロックを実行する。結果として、実行するたびに、画面に「大きい」と「小さい」がランダムに表示される。 次のプログラムを実行すると、最初に1から10までの乱数を発生し、変数「数」に入れる。続いて、「数」が5より大きいかを判定し、真のときは「なら」に続くブロックを実行し、偽のときは「そうでなければ」に続くブロックを実行する。結果として、実行するたびに、画面に「大きい」と「小さい」がランダムに表示される。
ライン 237: ライン 237:
 </​code>​ </​code>​
  
-{{:​pasted:​20180103-210502.png}}+{{:​pasted:​20180103-210502.png?300}}
  
  
ライン 247: ライン 247:
 タイマーは、あらかじめ指定された**間隔**で、指定された**回数**または**時間**だけ、ブロックを繰り返して実行する。標準では、間隔が0.1秒、回数が100回に設定されている。 タイマーは、あらかじめ指定された**間隔**で、指定された**回数**または**時間**だけ、ブロックを繰り返して実行する。標準では、間隔が0.1秒、回数が100回に設定されている。
  
-{{:​pasted:​20180103-210522.png}}+{{:​pasted:​20180103-210522.png?350}}
  
 ブロックを指定してタイマーのメソッド**実行**を呼び出すと、タイマーはパラメータとして受け取ったブロックを設定された時間間隔で繰り返し実行する。最初の実行は、指定された間隔だけ待った後に行われる。 ブロックを指定してタイマーのメソッド**実行**を呼び出すと、タイマーはパラメータとして受け取ったブロックを設定された時間間隔で繰り返し実行する。最初の実行は、指定された間隔だけ待った後に行われる。
ライン 345: ライン 345:
 </​code>​ </​code>​
  
-{{:​pasted:​20180103-210551.png}}+{{:​pasted:​20180103-210551.png?150}}
  
 配列に入っている要素の数は、**要素数?**で調べることができる。次のプログラムでは、配列に3個の数値を入れた後で、要素数を画面に表示している。画面には3が表示される。 配列に入っている要素の数は、**要素数?**で調べることができる。次のプログラムでは、配列に3個の数値を入れた後で、要素数を画面に表示している。画面には3が表示される。
ch_syntax.txt · 最終更新: 2020/07/11 05:22 by klab