learn v0
1.0.0
これはAOを学習するためのプラットフォームであり、AOを学ぶのに役立つ一連のインタラクティブな演習で構成されています。
さらにエクササイズを追加するには、filename <number>.<name>.tsを使用してsrc/dataフォルダーに新しいファイルを作成する必要があります。
TSファイルには、 TExerciseDataのタイプのデフォルトのエクスポートオブジェクトを含める必要があります
エンドポイントルートは、 data/index.tsのオブジェクトに追加する必要があります
export interface TExerciseData {
route : string ;
nextRoute : string ;
prevRoute : string ;
title : string ;
content : string ;
defaultCode : string ;
expectedResult : string | TExpectedResult ;
runLua ?: boolean ;
allowNext ?: boolean ;
fromId ?: "SELF" | string ;
validateTimestamp ?: boolean ;
}| 分野 | 説明 | タイプ | 必須 | 値の例 |
|---|---|---|---|---|
| 抑圧 | 前の演習のエンドポイント(データ/index.tsファイルに値が存在する必要があります) | 弦 | 真実 | 「10-Connect-Wallet」 |
| ルート | 現在の演習のエンドポイント(データ/index.tsファイルに値が存在する必要があります) | 弦 | 真実 | 「20-Create-Wallet」 |
| Nextroute | 次の演習のエンドポイント(データ/index.tsファイルに値が存在する必要があります) | 弦 | 真実 | 「30-Create-Asset」 |
| タイトル | 演習のタイトル | 弦 | 真実 | 「財布を作成」 |
| コンテンツ | マークダウンは、演習の説明をサポートしました | 弦 | 真実 | 「#マークダウン」 |
| DefaultCode | 演習のデフォルトのボイラープレートコード | 弦 | 真実 | 「print( 'hello world')」 |
| expectsult* | 運動の期待される結果(文字列またはオブジェクトのいずれか) | 文字列またはtexpectedResult | 真実 | 「Hello World」または{ run:"print('Hello World')", "Hello World" }または{run:"Inbox[#Inbox].Data"} |
| ルンルア | いくつかのLUAコードを実行して出力を確認するためにWetherを決定するブール(予想される場合は常に真実でなければなりません。 | ブール | 間違い | 真実 |
| allownext | デフォルトで次のエクササイズに移動できるブール値 | ブール | 間違い | 真実 |
| fromid | 特定のプロセスから受信トレイメッセージを受信したかどうかを確認している場合(ao.idに送信している場合) | 「自己」または文字列 | 間違い | "" or "self" |
| validateTimestamp | 運動コードを実行した後に受信トレイメッセージが受信されたかどうかを確認するには(タイムスタンプを比較) | ブール | 間違い | 真実 |
*expectSultは、文字列またはオブジェクトにすることができます
type TExpectedResult =
| string
| {
run : string ;
out ?: string ;
} ;| 分野 | 説明 | タイプ | 必須 | 値の例 |
|---|---|---|---|---|
| 走る | 予想される結果を得るために実行するLUAコード | 弦 | 真実 | 「印刷( 'Hello World!')」 |
| 外 | 宣言された場合、実行フィールドの出力がこの値に等しいかどうかを確認します。他の場合は、ユーザーが演習で作成したコードの出力とLUA出力を比較します | 弦 | オプション | "こんにちは世界!" |
オブジェクトを作成した後、 data/index.tsファイルに追加する必要があります
import { TExerciseData } from "@/types" ;
export default {
prevRoute :... ,
route :... ,
nextRoute :... ,
.
.
.
} as TExerciseData ; import { TExerciseData } from "@/types" ;
export default {
"10-connect-wallet" : require ( "@/data/10.connect-wallet" ) . default ,
"20-spawn-process" : require ( "@/data/20.spawn-process" ) . default ,
"30-hello-ao" : require ( "@/data/30.hello-ao" ) . default ,
.
.
.
"<your-route>" : require ( "@/data/<your-exercise-file" ) . default ,
} as { [ foo : string ] : TExerciseData } ;重要なメモ: