本文へ移動
cccskills
無料GitHub で公開日本語紹介

abs-syntax-reference

Aily BlocklyのABSでブロックの接続形式や引数順、値・変数の書き方を確認し、条件分岐やループを含むブロックコードを記述するための構文リファレンスです。

原文原文の説明を見る

ABS 语法快速参考:权威 ABS 规则与示例 skill,覆盖块连接类型、参数顺序、语句输入、变量引用与常见示例。触发词:ABS、语法、块脚本

ailyProject/aily-blocklyスター 3,859(GitHub 3,859 + cccskills 0)

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • ABSの引数順を確認したいとき
  • 条件分岐やループを記述したいとき
  • Blocklyコードの構文を調べたいとき

日本語での紹介

できること

Aily Blocklyのブロックをテキストで表すABSの構文と例を確認できます。Value、Statement、Hatの接続形式、ブロック呼び出しの括弧、値ブロックや変数参照の書き方を説明します。特に引数の順番は、ブロック定義のblock.jsonにあるargs0の並びに従う必要があります。条件分岐、繰り返し、シリアル出力、変数操作、Arduinoのsetupとloopに相当する構成例も載っています。

こんなときに便利

ABSでBlocklyの処理を書いたり、既存コードの構文エラーを調べたりするときに役立ちます。括弧の付け方、値の包み方、文の入力名やインデント、引数順を見直す際の参照に向いています。

使い方の例

  • 「このABSの引数順と値ブロックの書き方を確認してください」
  • 「温度による条件分岐をABSで書く例を示してください」

注意点

ライブラリ固有ブロックの引数順は、この資料の一般例から推測せず、対象ライブラリのreadme_ai.mdまたはblock.jsonで確認します。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(1)

  • SKILL.md5.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

ABS (Aily Block Syntax) 快速参考

本 skill 只负责 ABS 语法规则与示例。项目规划、库安装、证据读取、工作区同步和验证流程由当前 host profile、可用工具说明及 blockly-best-practices skill 负责;不要从本语法参考重建那些流程。

使用库块时,参数顺序必须来自该库当前的 readme_ai.md 或 block.json,不能仅根据本文件中的通用示例推断。

Block Connection Types

TypeRoleParameter Style
Value作为值嵌入到其他块参数中所有参数都写在括号内:logic_compare($a, EQ, $b)
Statement独立成行,通过 next 串联普通参数写在括号内,语句输入使用 @NAME:
Hat根入口块,如 arduino_setup、arduino_loop规则与 Statement 相同

Syntax Rules

ElementSyntaxExample
Block callblock_type(param1, param2)serial_println(Serial, text("Hi"))
Empty paramsblock_type()time_millis()
Statement input@NAME: + 换行 + 缩进@DO0:\n action()
Variable ref$varName$count, $sensor

Parameter Types

TypeSyntaxExample
DropdownENUM_VALUESerial, HIGH, EQ, AND
Text"string""hello", "dht"
Number1239600, 13
Variable$name$count, $temp
Value blockblock(args)math_number(10), $var

参数顺序规则

参数顺序必须严格遵循 block.json 中 args0 的定义顺序,字段和输入可能交错出现,不能想当然地把下拉字段放到最前面。

例如 logic_compare 的 args0 顺序是:A(input_value), OP(field_dropdown), B(input_value),因此:

  • 正确:logic_compare($a, EQ, $b)
  • 错误:logic_compare(EQ, $a, $b)

Value Blocks

值块的所有参数都必须写在括号里,不能使用命名输入。

# Comparison: logic_compare(A, OP, B)
logic_compare($a, EQ, math_number(10))
logic_compare($temp, GT, math_number(30))

# Logic: logic_operation(A, OP, B)
logic_operation($sensor1, AND, $sensor2)
logic_operation(logic_compare($a, GT, math_number(0)), OR, logic_compare($a, LT, math_number(100)))

# Math: math_arithmetic(A, OP, B)
math_arithmetic($a, ADD, $b)

# Ternary: logic_ternary(condition, trueValue, falseValue)
logic_ternary(logic_compare($score, GTE, math_number(90)), text("A"), text("B"))

# Negate
logic_negate($flag)

# Boolean
logic_boolean(TRUE)

Statement Blocks with Statement Inputs

语句输入必须使用 @NAME:,并且子块体使用 4 个空格缩进。

# If-Else: statement inputs use @NAME:
controls_if()
    @IF0: logic_compare($temp, GT, math_number(30))
    @DO0:
        serial_println(Serial, text("Hot"))
    @ELSE:
        serial_println(Serial, text("OK"))

# If-ElseIf-Else
controls_if()
    @IF0: logic_compare($v, GT, math_number(100))
    @DO0:
        action1()
    @IF1: logic_compare($v, GT, math_number(50))
    @DO1:
        action2()
    @ELSE:
        action3()

# Loop
controls_repeat_ext(math_number(10))
    serial_println(Serial, text("Loop"))

controls_for($i, math_number(0), math_number(10), math_number(1))
    serial_println(Serial, $i)

Simple Statement Blocks

无语句输入的语句块,同样全部使用括号参数。

serial_begin(Serial, 115200)
serial_println(Serial, text("Hello"))
serial_println(Serial, $count)
time_delay(math_number(1000))
variables_set($count, math_number(0))
math_change($count, math_number(1))

Program Structure

arduino_setup()
    serial_begin(Serial, 115200)

arduino_loop()
    serial_println(Serial, text("Hello"))
    time_delay(math_number(1000))

Variable Reference Context

Target Type$var Becomes
field_variable变量字段,如 variables_set($x, ...)
input_valuevariables_get 表达式,如 serial_println(Serial, $x)

Checklist

  • 必须写括号:block(),不能省略为 block
  • input_value 位置的数字应写成 math_number(n)
  • input_value 位置的文本应写成 text("s")
  • 下拉值使用枚举值,如 HIGH、Serial、EQ、AND
  • 语句体使用 4 空格缩进
  • 只有语句输入才使用命名输入:@IF0:、@DO0:、@ELSE:
  • 值块的所有参数都在括号里,不能写命名输入
  • 参数顺序严格遵循 block.json 的 args0 定义,而不是“字段优先”

调试建议

  1. 读取当前 project.abs 并从具体报错位置开始定位;host 已在提交 turn 前同步可见工作区。
  2. 仅当工作区可能在 turn 开始后发生变化时,才使用 syncAbs action="export" 刷新文件。
  3. 对照相关库 readme_ai.md 或 block.json 的 args0 顺序,修正参数位置、缩进和值块包装方式。
  4. 使用当前 host 同步能力重新导入并验证,依据最近的报错做最小修复。

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

blockly-best-practices

無料概要あり

BlocklyやABSプログラムの編集で、必要なライブラリ情報を確認し、ワークスペースへの反映と変更に応じた検証を進めます。

  • 既存のBlocklyプログラムを変更したいとき
  • ABS編集を画面に反映したいとき
  • 必要な範囲でビルドを確認したいとき
ailyProject/aily-blockly3,8592026年10月26日 更新

blockly-project-planning

無料概要あり

新しいBlocklyプロジェクトの候補ボードやライブラリを調べ、配線や検証手順を含む計画を提示して選択を促します。

  • Blocklyで新規プロジェクトを始めたいとき
  • ボードやライブラリを比較したいとき
  • センサーの構成を計画したいとき
ailyProject/aily-blockly3,8592026年10月26日 更新

chronicle

無料概要あり

過去のチャット履歴を検索し、以前の決定やツール実行、作業内容、利用上の工夫を確認できます。必要に応じて履歴の検索用インデックスも再構築します。

  • 以前の会話で決めたことを探したいとき
  • 過去に使ったツールやファイルを調べたいとき
  • 最近のプロジェクト履歴をまとめたいとき
ailyProject/aily-blockly3,8592026年10月26日 更新

handoff

無料概要あり

会話の要点や未完了の作業、参照すべき資料を一時ディレクトリの引き継ぎ文書にまとめ、次のエージェントが続きから作業できるようにします。

  • 別のエージェントに作業を引き継ぎたいとき
  • 新しいセッション用に経緯を整理したいとき
  • 既存資料を重複させず進捗をまとめたいとき
ailyProject/aily-blockly3,8592026年10月26日 更新

improve

無料概要あり

コードベースを読み取り専用で調査し、バグやセキュリティ、性能、テスト、技術的負債などの改善点を優先順位付きで整理して、別の担当者が実行できる計画にまとめます。

  • コードベースの課題を監査したいとき
  • 修正作業を別エージェントに渡したいとき
  • ロードマップ候補を根拠付きで検討したいとき
ailyProject/aily-blockly3,8592026年10月26日 更新

library-migration-guide

無料概要あり

ArduinoやESP32のライブラリをAily Blockly向けに変換するため、公開APIの分析からブロック定義、コード生成、ボード対応、パッケージ構成までの手順を確認できます。

  • ArduinoライブラリをBlockly用に変換したいとき
  • ハードウェアAPIをブロック化したいとき
  • ボード別の設定と生成コードを整えたいとき
ailyProject/aily-blockly3,8592026年10月26日 更新

ailyProject のスキルをすべて見る

このスキルの問題を報告する