Mattias Wadman さん(@mwader、https://github.com/wader)が指摘してくれた(https://twitter.com/mwader/status/1599769763819171840)のは次のネタ。
- assignment (.key = 123)
- update (.key |= .+1)
- setpath
- destructing bindings ({a: [1,2]} as {a: [$first,$second]} | ...)
- the //-operator
- own functions (def f(a) vs def($a))
最後のは、def f(a): と def f($a) だろうか。
僕のネタ・リストは:
- リーダー→プロセッサ→ライター
- 数値の扱い、JavaScript数値、JSON数値
- データの組み立て方、色々
- 別JSONファイルを読んで変数にしておく
- 原理: 暗黙の入力と暗黙の繰り返し
- 無限シーケンス処理。メモリーのリセット。例:メッセージパケットの宛先でフィルタリング
- 原理: $inpu がドット
- 下流への情報のパッシング
- リーダーとライターをさらにラップして使う。シェルまたはプログラミング言語
下流への情報のパッシングで、
def foo: getpath(["members",3,"givenName"]) ; foo as $a | $a
は出来た。
def foo: .bandName ; def bar: .members[0] ; {"foo": foo, "bar":bar } as $a | [$a.foo, $a.bar]
も出来た。
[追記]
- 上の「出来た」は出来てない。
- as を使って、let文をシミュレートする。let a = x in b end を x as $a | b でも同じ。
[/追記]