質問

Okくないと思っています:

Select[Range[1, 20], # > Dynamic[q] &]

そのようなスライダー:

Slider[Dynamic[q], {1, 20}]

では常に戻り空のセットです!いかがでしょうか!

更新 この設定を変更していたスライダーを動かします。

役に立ちましたか?

解決

重要なことは、 覚えている動的な制御について何も評価す。くでおすすめはスポットの画面を評価す。

例えば、評価に関する記述がありますの新鮮なMathematica セッション...

b=5;
Dynamic[a=b];
b=6;
Print[a];

...そして何印刷?代わりに評価するので、すぐに考える でいます。ヒントことになりますので、しっかりとトリックデリケートな問題が理解でフレキシビリティ 心にそのダイナミックにしています。

その答えは、まれまでに是非経験してほしいで 自分!) によって説明できることのなかったもの のではないが画面.セミコロンを抑制し、画面の 外観はダイナミックな表画面の動的挙動 確実に遂行います。

より微妙た場合、すべてのセミコロン、印刷[]書( 少なくとも自分のマシン) まだ 今も昔も変わりませんが、今は全く 異なる理由です。ことになるので、画面の配置の動的な保証 その内容の評価とな 彼らの評価を行うことが重要であり、私 例設定し、レースの条件は、少なくとも私の機v7、 Shift+Enter評価。

に帰って、

Select[Range[1, 20], # > Dynamic[q] &]

この動作しない方があると考えますので、ダイナミックなこの場合に な評価するもの表示画面.

きtriviallyを実証する結果によって...

Dynamic[Select[Range[1, 20], # > q &]]

さんとかに関心があるだけの人にとって画面に表示するまで、 設定などの副作用によるものです。かもしれませんが割り当の選択を可変となります。は、次の二つの方法がありこれらの副作用が起こる。この 第二引数のダイナミックに変化します。たとえば---

findset[x_] := (myset = Select[Range[1, 20], # > x &])
Slider[Dynamic[q, (q=#; myset = findset[q])&], {1, 20}]

第二は作動しない画面が登場する一 ないたしますのでご連絡ください例えば、

Row[{
    Slider[Dynamic[q], {1, 20}],
    Dynamic[myset = Select[Range[1, 20], # > q &]; ""]
}]

この場合、動的に表示するようにした。表示され、 ライダーです。ではあまり見かけないのでとても大きな数字での表示は空文字列となります。しかし、すべての自動更新特性と動的です。

詳細は、首に先駆けて最新鋭のダイナミックチュートリアル のMathematicaます。も見ることができ自分にcomp.ソフトsys.math.mathematica こちらの (私は一部を修のためにこの応答)です。

他のヒント

したいと思い出"動"の行を選択します。このうままにしておいてくださいないものとします。

In[20]:= x = 5

Out[20]= 5

In[21]:= Slider[Dynamic[x], {1, 20}]

Out[21]= \!\(\*
SliderBox[Dynamic[$CellContext`x], {1, 20}]\)

In[26]:= (*manually move the slider a bit to the right *)

In[23]:= x

Out[23]= 9.36

In[24]:= Select[Range[1, 20], # > x &]

Out[24]= {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}

x = 2 (*slider moves left when I set this*)

Out[25]= 2

編集:実際の質問は、"なぜこの仕事"ではなく"どうやっていけばいいですか?ことにいたします。この問題:

In[12]:= q = 3

Out[12]= 3


In[13]:= (# > q) &[10]

Out[13]= True


In[14]:= (# > Dynamic[q]) &[10]

(* what you see on the screen looks like an evaluation that is held or something *)
Out[14] = 10 > 3

(* but the full form, which is conveniently what gets copied to the clipboard for
   pasting into this answer, is actually this! *)
Out[14]= 10 > \!\(\*
DynamicBox[ToBoxes[$CellContext`q, StandardForm],
ImageSizeCache->{7., {1., 8.}}]\)

だというと動的[1]'いく'3'の画面ではない'3'--でのノート素子を実際に 表示 a'3'.

の結果を比較機能は、表現のような評価をTrue、選択は一切受け付けておりませんの要素は、空のセットです。

また、全体の当初の Select 表現する動的な更新したい選択したサブセットのものの価値 q 変わります。これまでの移動 Dynamic ます。してみてください:

Slider[Dynamic[q], {1, 20}]

Dynamic[Select[Range[1, 20], # > q &]]
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top