tips012

エラーと作法②
— null が混ざった時

Sets ▸ List ▸ Null Item / Sets ▸ Tree ▸ Clean Tree

null(ヌル)は「中身が無い」ことを表す値。
データが取れなかった場所に、中身の無い項目として残る。

null を出して見る

  • List Item の i にリストの範囲を超えた番号を渡し、W(Wrap・折り返し)に False をつなぐ。
    円は3本(番号は 0, 1, 2)なので、1, 2, 3 と渡すと 3 の分が範囲外になる
  • 出てきたリストを Null Item の I につなぐと、どの項目が null かが N に True / False で並ぶ
①が null の出かた、②が Clean Tree を通したあと。円は z = 0 / 20 / 40 の3本で、半径はどれも 30。クリックで拡大。

null はこう見える

Panel の表示<null>。他の項目より薄い灰色で出る
Null Item の NFalse, False, True。null の項目だけ True
リストの長さ3 のまま。null も1項目として数える
List Item のメッセージオレンジの警告 Supplied index too high.

下流に流す

  • null の混ざったリストを Loft の C につなぐ
  • 途中に Clean Tree を挟む。T(いちばん下の入力)にリストを入れ、その T 出力を Loft に渡す
  • List Item の i0, 1, 2 に直す
①がオレンジ、②が青、③が緑の枠。3枚の画面は同じ画角・同じ縮尺で、灰色が Loft の面、黒い円が元の3本の断面(下から z = 0 / 20 / 40)。数値は Area が返した面積。クリックで拡大。

① そのまま Loft につなぐ

Result① null のまま

Loft の色オレンジ
メッセージNull profile curve was removed
面が張られた範囲z = 20 から 40
面積3769.911231

null の断面だけが外され、残りの2本(1 番の z = 202 番の z = 40)で面が張られる。
エラーにはならず、欠けた形がそのまま下流へ流れる。

② Clean Tree で null を除く

Result② null を除いた

Loft の色
メッセージなし
面が張られた範囲z = 20 から 40
面積3769.911231

警告は消えるが、面積まで含めて①と完全に同じ。

③ 番号を 0, 1, 2 に直す

Result③ 番号を直した

Loft の色
メッセージなし
面が張られた範囲z = 0 から 40
面積7539.822462

直すのは null ではない

null を除く(②)警告は消える。形は変わらない
null が出た場所を直す(③)形が戻る。この例なら List Item の i

null は結果ではなく、上流で何かが取れなかった跡。

null が出やすいところ

  • List Item でリストの範囲を超えた番号を渡したとき(WFalse のとき)
  • 長さのちがうリストを Flip Matrix でそろえたとき。足りない分が null で埋まるが、警告は出ない

注意

W(Wrap)は既定が True。そのままだと範囲を超えた番号は先頭に折り返すので、null も警告も出ないまま別の項目が返る(この例なら 3 番のかわりに z = 0 の1本目)。
Clean Tree の上3つの入力は何を落とすかの切り替えで、N(Remove Nulls)と X(Remove Invalid)が TrueE(Remove Empty)が False が既定。

#エラー対処