如何在escher中使用数组信号?

时间:2016-12-06 10:32:01

标签: arrays signals julia reactive

我正在尝试使用escher来构建UI。我从UI收集输入,输入传递给我的Julia程序,地图函数为:output = map(function, input1, input2)

该函数返回array(Float64,1)。当我在UI中进行可视化时,我得到以下内容:4-element Array{Float64,1}: 3.43632e5 3.63805e5 3.69266e5 3.71911e5 我试图一次可视化一个元素,但我一直在收到错误。我不能使用output[index]

当我应用枚举(输出)时,我得到以下内容:

Enumerate{Reactive.Signal{Array{Float64,1}}}(Signal{Array{Float64,1}}([343631.7211352585,363804.7393436705,369265.5843143601,371910.53794551373], nactions=0))

有没有人知道我如何可视化输出的元素。对不起,这对你来说很明显,但我一直在寻找,但我没有找到任何东西。

1 个答案:

答案 0 :(得分:2)

如果我理解正确,我认为你想要

S

其中SignalS对象。这将以S.value[2]更改时自动更新的方式为您提供第二个元素。

如果您只想提取第二个元素,可以使用if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) { // Kill status bar underlay added by FormsAppCompatActivity // Must be done before calling FormsAppCompatActivity.OnCreate() var statusBarHeightInfo = typeof(FormsAppCompatActivity).GetField("statusBarHeight", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); if (statusBarHeightInfo == null) { statusBarHeightInfo = typeof(FormsAppCompatActivity).GetField("_statusBarHeight", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); } statusBarHeightInfo?.SetValue(this, 0); } this.Window.AddFlags(WindowManagerFlags.Fullscreen | WindowManagerFlags.TurnScreenOn); ,但这会(我相信)不会自动更新。

编辑:顺便说一下,如果你能提供一个最小的工作示例来尝试这些东西,它总是更有用。