04. SNAP!でオブジェクト指向(3/2)

予定を変更して、今回もSNAP!に取り組みます。

テーマ:

リスト処理

高階関数

言語機能の拡張。プロトタイプベースのオブジェクト指向機構をSNAP!に実装する。

SNAP!のマニュアル

P.27 A . The list block

リストの要素

リストのリスト

リストの長さ

リストを扱うブロック

利用例)

母音を判定するカスタムブロックの作成 あ い う え お をリストで用意。リストに引数が含まれるか判定。

テーブル(表)を利用して、オブジェクトのメソッドとデータを管理する。

assocは、ファイルメニューのライブラリー から リスト処理ライブラリーを読み込めば、作成せずに済む。

P.30 D. Higher Order List Operations and Rings

リストを処理する高階関数

高階関数とは: 関数やプログラム(クロージャ)を引数として受け取ることができる関数。

ファイルメニューの ツールを読み込む でリスト処理関係の外部定義ブロックを使用可能にする。

フィルター処理の例)

数値リストから、偶数だけ残す

map関数

リストの要素を1つずつ(関数やプログラムで)処理して結果を求める。求めた結果をまとめて新しくリストを作成する。

あるリストを変換した別のリストを作成する関数。

P.49 Object Oriented Programming

P.50 A. Local State with Script Variables

プログラムを値として返すプログラム

SNAP!の課題(3/2回目) として保存したファイルをWebclassに提出。