我目前正在学习如何使用rbc库。我有一些硬件返回两个列表:一个是时间,另一个是电压。这是我尝试创建元素的tcl行:
$myGraph element create "CH${channel}:${polarity}" -xdata [list [lindex [lindex $myWaveform 2] 0]] -ydata [list [lindex [lindex $myWaveform 2] 1]]
注意:我使用lindex
两次,因为它是一个列表列表,我需要索引到第一个列表以获取我的数据。
现在,执行此代码时,我收到以下错误消息:
missing operator at _@_
in expression "1.9e-8 _@_1.902e-8 1.904e-8 1.90..."
现在,我在这里发布我的列表,除了它的巨大(> 4000个元素)。但基本上你在错误片段中看到的是列表的格式:
"1.9e-8 1.902e-8 1.904e-8 1.90..."
现在,我知道传入的数据是类型列表并且是我正在寻找的事实,因为我已经在其上完成了llength
函数,它是一个列表4000个元素。我不知道它在哪里获得'运营商'来自,因为位置列表中没有任何内容' @ '占据错误。我的清单可能有什么问题?
编辑:当我通过控制台手动执行此过程时,它可以正常工作。为什么它不能在代码中运行?
答案 0 :(得分:0)
我弄清楚问题是什么。出于某种原因,我用来获取数据的函数将其放入大小为1的列表中,其中第一个元素是我的实际数据列表,大小为4000:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Web;
namespace ****
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
webBrowser1.ScriptErrorsSuppressed = true;
}
private void startbutton_Click(object sender, EventArgs e)
{
switch (Text)
{
case "full":
{
webBrowser1.Navigate(URLtextbox.Text);
}
break;
case "empety":
{
webBrowser1.Navigate(comboBox1.Text);
}
break;
}
}
}
private void stopbutton_Click(object sender, EventArgs e)
{
webBrowser1.Stop();
}
private void forwardbutton_Click(object sender, EventArgs e)
{
webBrowser1.GoForward();
}
private void backbutton_Click(object sender, EventArgs e)
{
webBrowser1.GoBack();
}
}
因为它试图迭代这个大小为1的列表,所以它遇到了错误。