受最近TED演讲的启发,我想写一小段教育软件.研究人员制作了一些名为" Siftables "的小型微型计算机.
替代文字http://images.ted.com/images/ted/tedindex/embed-posters/DavidMerrill-2009.embed_thumbnail.jpg
[David Merril, inventor - with Siftables in the background.]
他使用了很多块应用程序,但我最喜欢的是每个块都是数字或基本操作符号.然后,您可以在一行中重新排列数字块或操作符号,它将在另一个可筛选块上显示答案.
alt text http://i44.tinypic.com/m7us6g.png
所以,我已经决定要在有限的范围内实施一个软件版本的"数学Siftables"作为我正在参加的CS课程的最终项目.
解析和解释一串数学表达式的普遍接受的方法是什么,如果它们有效,执行操作?
这是我应该实现完整解析器/词法分析器的情况吗?我认为解释基本的数学表达式将是计算机科学中的一个半常见问题,所以我正在寻找正确的方法来解决这个问题.
例如,如果我的Math Siftable块在哪里排列如下:
[1][+][2]
这将是一个有效的序列,我将执行必要的操作以达到"3".
但是,如果孩子要将几个操作块拖到一起,例如:
[2][\][\][5]
这显然是无效的.
最终,我希望能够使用用户可以拖动的块来解析和解释任意数量的操作链.任何人都可以向我解释或指向我解析基本数学表达式的资源吗?
我更喜欢尽可能多的语言不可知的答案.
编写一个快速应用程序来帮助我过滤文本文件.
我正在逐行读取文本文件,并且需要匹配一系列如下所示的字符:090129 YBB 100
第一组090129将是6个数字(0-9).其次是空格,然后YBB - 永远.之后,另一个空格,然后是2-3个数字(0-9).
此模式也将始终是字符串的第一部分.
这是我的黑客:
^[0-9][0-9][0-9] (YBB) [0-9][0-9][0-9]\b
Run Code Online (Sandbox Code Playgroud)
当然,不起作用......但我是一个正则表达式的菜鸟.提前致谢!
好的,所以我知道在HTML中你可以使用<b>标签,但是"weight=bold"我没有在<p>标签中使用的属性吗?
或者是CSS或Javascript?
在Sql Server中,我有一个带有Identity主键的表.通常我想要最新的几条新记录,所以我通过降低主键来获取排序的前n个.我应该将主键索引定义为降序,还是没有区别?即如果它们按升序排列,那么sql能否同样有效地向后工作?
我有一个使用GLSL着色器的项目.
除非出现问题或明确打开一些额外的调试输出,否则此项目不会向stdout打印任何内容.
当着色器编译失败时,给定的日志长度glGetProgramInfoLog> 0,有时当它> 0时成功,并给出编译警告.当你有一个完美编译的着色器时,日志长度<1 ...这就是我在开发机器上的NVidia卡上的工作方式.
对于我的罪过,我也在带有intel集成显卡的笔记本电脑上做了一些开发.代码运行正常,但每当我执行着色器编译时,日志包含:
"shader已成功编译为在硬件上运行"
这是非常烦人的,因为我现在无法决定是否应该打印出字符串,除了某种字符串分析,例如:
strstr("successfully",log)
Run Code Online (Sandbox Code Playgroud)
希望这显然是为什么这是不可取的.如果有的话,我可以判断一条消息是否值得使用OpenGL api打印出来?
编辑:
如果我使用glGetShaderiv(shaderobj,GL_COMPILE_STATUS,&err);那么我没有得到编译警告,只有错误.
在Java中使用套接字时,如何在开始处理之前判断客户端是否已完成发送所有(二进制)数据.考虑例如:
istream = new BufferedInputStream (socket.getInputStream());
ostream = new BufferedOutputStream(socket.getOutputStream());
byte[] buffer = new byte[BUFFER_SIZE];
int count;
while(istream.available() > 0 && (count = istream.read(buffer)) != -1)
{
// do something..
}
// assuming all input has been read
ostream.write(getResponse());
ostream.flush();
Run Code Online (Sandbox Code Playgroud)
我对SO如阅读类似的帖子这个,也没有找到确凿的答案.虽然上面的解决方案有效,但我的理解是,您永远无法确定客户端是否已完成发送所有数据.例如,如果客户端套接字发送了一些数据块然后阻止等待来自另一个数据源的数据,然后它可以发送更多数据,那么上面的代码可能很好地假设客户端已完成发送所有数据,因为istream.available()将为当前字节流返回0 .
javascript css internet-explorer css-selectors internet-explorer-6
我的问题涉及在WSDL端口绑定中使用地址元素的'location'属性.
示例WSDL片段:
<wsdl:service name="serviceName">
<wsdl:port binding="tns:serviceNameBIND" name="serviceNameBIND">
<soap:address location="http://example.com" />
</wsdl:port>
</wsdl:service>
Run Code Online (Sandbox Code Playgroud)
我知道address元素定义了客户端在使用WSDL描述的接口时连接的主机URI.
将主机URI硬编码为生成的客户端代码似乎是一种奇怪的方法.在负载平衡场景中,一个URI是有意义的.在我目前的情况下,我们的客户端是支持外部接口的SOA组件.客户可以访问我们应用程序的四个安装之一.负载平衡进一步向上游发生.
关于位置属性,关于SO还有其他问题,但它们大部分都是技术特定的.
您是否使用如上所述的location属性,或者您是否在不引用WSDL地址元素的情况下配置客户端?
我有一个NSTableView和一个NSOutlineView,它们的内容都是由绑定提供的,我希望有一些拖放功能:
将表A中的行拖到 Outline B的一行上,在那里它们将被复制到Outline B中的行所代表的数据结构中.
将大纲B中的一行拖到大纲B中的另一行,该行将第一行表示的数据复制到第二行中表示的数据中.
我已经阅读了Apple的拖放文档并且几乎无处可去.它似乎并不适用于我需要做的事情.我错过了什么?
cocoa drag-and-drop nsoutlineview nstableview cocoa-bindings
是否有人详尽列出了C#/ CLR提供给操作员的名称?(也许我缺乏睡眠开始了,但是我似乎无法在Google上找到它)例如op_Addition,op_Subtraction。此外,这些机会是否有可能在其他文化中有所不同?
我正在尝试创建一个可以添加/减去两个对象的类,并且我已经完成了所有原语-我只需要做“其余”。
非常感谢。
css ×2
c# ×1
cocoa ×1
glsl ×1
html ×1
indexing ×1
java ×1
javascript ×1
math ×1
nstableview ×1
opengl ×1
operators ×1
parsing ×1
primary-key ×1
regex ×1
shader ×1
soap ×1
sockets ×1
sql-server ×1
wsdl ×1