スクリプトはデバッガー経由では実行されませんが、デバッガーなしでも実行されますこんにちは!
スクリプト ウィンドウの [スクリプトの実行] ボタンを使用するだけでは完全に正常に動作するスクリプトがありますが、デバッガーを開いて [実行] ボタンを使用すると、エラー メッセージが表示されます。
メッセージには、「1 つの要素リストまたは行列 "フラグ" でリストを添え字にすることは、スカラーではなくリストになります。」
参照しているスクリプトの行は以下の太字で示されています。
flag = loc(-5<=CalcMassesFromPeak<=5);
// Show(flag);
y= NRow(flag);
WellLookup = ESIOligoInfo["WellIDs"];
if(y!=0,FlaggedWells = WellLookup[flag],FlaggedWells = "");
デバッガを使用しない場合は正常に動作するので、スクリプトに問題はないと思います。 何が起こっているのかわかりません!
役立つ場合に備えて、スクリプト全体を添付しました。
Re: スクリプトはデバッガーを介して実行されませんが、デバッガーなしでも実行されます
Preference dialogPreference dialog設定ダイアログ
通常、これを引き起こす互換性の問題は上に示されています。 [42] に 1::1 (1 から 1 までの要素の配列) を添え字にすると、42 が返されます。 ここでは [42] が返されます。 当初はスカラー値が一般的なケースであると考えられていましたが、N==1 には特別なケースがないため、すべての 1::N で一貫性がある方が良いと考えられていました。
This makes the debugger pause, making debugging painful. Change the preference! It probably works the way you expect it to now.This makes the debugger pause, making debugging painful. Change the preference! It probably works the way you expect it to now.これによりデバッガーが一時停止し、デバッグが困難になります。 好みを変えましょう! おそらく、今のところあなたが期待しているとおりに機能します。
Re: スクリプトはデバッガーを介して実行されませんが、デバッガーなしでも実行されます@Melanie_J_Drake
これが何年も前のことだとは思いますが、同じ問題に関する情報を探していたときにこれを見つけました。警告はオフにできると言いました。JMP 16 でこれを行う方法がわかりません。これがまだ利用可能かどうか知っていますか?
ありがとう!
Re: スクリプトはデバッガーを介して実行されませんが、デバッガーなしでも実行されますこれは 13.0 に加えられた 2 つのアップデートによるものだと思います。 新機能から盗まれたもの:
- JSL デバッガの設定では、互換性警告のための中断は新しいオプションです。
潜在的な JSL 互換性の問題が見つかった場合、スクリプトの実行を停止します。 デバッガー
このオプションがオンの場合、スクリプト内の潜在的な問題ごとに 1 回だけ停止します。 あれば
スクリプト内に多くの出現箇所があり、それらが問題ではないと判断した場合は、
オプションをオフにします。 この設定はデフォルトで選択されています。
- 1x1 行列を行列またはリストの添字として使用すると、結果は行列またはリストになります。
スカラー数値の代わりにリストを使用します。
デバッガーは、スカラー結果の代わりに行列またはリスト結果を与える可能性のあるものを使用していることを示しています。 設定で警告をオフにすることができます。 ただし、最初にスクリプトが 12 から 13 への動作の変更に対応できるかどうかを確認します。