我一直在考虑这个问题,但实际上无法在Google上找到答案以及Stackoverflow上的类似问题.如果有重复,我很抱歉.
许多人似乎都说,在函数式语言(如OCaml和Haskell)中编写编译器和其他语言工具比使用命令式语言编写它们更有效,更容易.
这是真的?如果是这样的话 - 为什么用函数式语言而不是像C这样的命令式语言来编写它们是如此高效和容易?另外 - 在一些函数式语言中,语言工具不是像C这样的低级语言吗?
我有一个分组的UITableView,有几个部分.一些单元格中的文本可能会很长,我想知道如何使文本自动换行?
我从文件中提取了一些数据,并希望将其写入第二个文件.但我的程序返回错误:
sequence item 1: expected string, list found
Run Code Online (Sandbox Code Playgroud)
这似乎正在发生,因为write()想要一个字符串,但它正在接收一个列表.
那么,关于这段代码,如何将列表转换buffer为字符串以便我可以将内容保存buffer到file2?
file = open('file1.txt','r')
file2 = open('file2.txt','w')
buffer = []
rec = file.readlines()
for line in rec :
field = line.split()
term1 = field[0]
buffer.append(term1)
term2 = field[1]
buffer.append[term2]
file2.write(buffer) # <== error
file.close()
file2.close()
Run Code Online (Sandbox Code Playgroud) 在如Boost.Test文档和例子并不真的似乎包含我发现任何不平凡的例子,到目前为止,两个教程这里和这里同时有帮助都是非常基本的.
我希望为整个项目提供一个主测试套件,同时保持每个模块套件的单元测试和可以独立运行的灯具.我还将使用模拟服务器来测试各种网络边缘情况.
我在使用Ubuntu 8.04,但我会采用Linux或Windows的任何示例,因为我正在编写自己的makefile.
编辑
作为测试,我做了以下事情:
// test1.cpp
#define BOOST_TEST_MODULE Regression
#include <boost/test/included/unit_test.hpp>
BOOST_AUTO_TEST_SUITE(test1_suite)
BOOST_AUTO_TEST_CASE(Test1)
{
BOOST_CHECK(2 < 1);
}
BOOST_AUTO_TEST_SUITE_END()
// test2.cpp
#include <boost/test/included/unit_test.hpp>
BOOST_AUTO_TEST_SUITE(test2_suite)
BOOST_AUTO_TEST_CASE(Test1)
{
BOOST_CHECK(1<2);
}
BOOST_AUTO_TEST_SUITE_END()
Run Code Online (Sandbox Code Playgroud)
然后我编译它: g++ test1.cpp test2.cpp -o tests
这给了我关于链接期间的大量"多重定义"错误.
当它在一个文件中时它工作正常.
假设我们有2个类,Child,以及它继承的类,Parent.
class Parent
{
public static void MyFunction(){}
}
class Child : Parent
{
}
Run Code Online (Sandbox Code Playgroud)
是否有可能在父类中确定如何调用该方法?因为我们可以用两种方式来称呼它:
Parent.MyFunction();
Child.MyFunction();
Run Code Online (Sandbox Code Playgroud)
我目前的方法是尝试使用:
MethodInfo.GetCurrentMethod().ReflectedType; // and
MethodInfo.GetCurrentMethod().DeclaringType;
Run Code Online (Sandbox Code Playgroud)
但两者似乎都返回父类型.
如果你想知道什么,我正在努力完成(为什么我违反了父母不应该对孩子有任何了解的基本OOP规则),这就是它的缺点(如果你想要,请告诉我)长版):
我有一个Model结构,表示我们持久存储到数据库的一些数据.所有这些模型都从一个抽象的Parent继承.此父实现了一些事件,例如SaveEvent,DeleteEvent等.我们希望能够订阅特定于该类型的事件.所以,即使事件在父母身上,我也希望能够做到:
Child.SaveEvent += new EventHandler((sender, args) => {});
Run Code Online (Sandbox Code Playgroud)
我有一切就绪,事件实际上由事件处理程序字典支持,按类型进行哈希处理.我需要做的最后一件事就是在做Child.SaveEvent时正确检测Child类型.
我知道我可以在每个子类中实现事件(甚至通过使用抽象来强制它),但是将它全部保存在父类中会很好,这是实际触发事件的类(因为它实现了公共保存/删除/更改功能).
我有一个带有一组值的组合框(5,10,15,20).
当用户选择一个值时,我希望它们显示为百分比(5%,10%,15%,20%).
我正在使用值##%播放格式字符串,但这不起作用.
我的工作场所使用Subversion进行源代码控制,所以我一直在使用git-svn来获取我自己的分支的优点,我可以随意提交,而不需要触及主回购等.
由于我的git svn checkout是本地的,我已将其克隆到网络共享以充当备份.我的想法是,如果我的桌面进行转储,我至少会在网络共享上拥有回购,以获得我尚未有机会提交的更改.
我的工作流程是从桌面工作,进行更改,提交等.在一天结束时,我想用我当前的所有更改来更新网络共享上的repo.我在网络共享上设置了repo git clone repo_on_my_desktop,然后使用更新网络共享上的repo git pull origin master.我遇到的问题是当我在git rebase提交到主svn存储库之前使用do a 来压缩多次提交时.当我这样做时,当我尝试在晚上备份时,我在网络共享上的repo上发生合并冲突.
有没有办法简单地与桌面上的存储库完全同步,而不是git clone每晚都做新的?
我正在使用此插件:http : //plugins.jquery.com/project/query-object
'get'和'toString'方法工作正常,但'set','empty'和'remove'方法无效。在作者的演示中,他仅使用“ get”和“ toString”,但在页面顶部的示例中,他使用了其余的“ nice-to-have”方法。
有人遇到过吗?
谢谢。
在编译Objective-C代码时,我无法找到-all_load标志所做的任何事情.
我有一些问题上传二进制文件到Apple,他们说这是因为我没有使用这个标志,但我的代码编译甚至没有它.
有人可以帮助我吗?
谢谢
我正试图找到'正确'的演员实现.我意识到有一堆它们,选择一个有点令人困惑.就个人而言,我对远程演员特别感兴趣,但我想完整的概述会对很多人有所帮助.这是一个非常普遍的问题,所以请随意回答您所了解的实施问题.
我知道以下Scala Actor实现(SAI).请添加缺少的.
Scalaz(http://code.google.com/p/scalaz/)
这些SAI的目标用例是什么(轻量级与"重型"企业框架)?
c# ×2
iphone ×2
objective-c ×2
.net-3.5 ×1
actor ×1
akka ×1
boost ×1
c++ ×1
cocoa-touch ×1
gcc ×1
git ×1
git-svn ×1
haskell ×1
inheritance ×1
jquery ×1
lift ×1
linker ×1
mocking ×1
ocaml ×1
python ×1
query-string ×1
scala ×1
scalaz ×1
svn ×1
tcp ×1
uitableview ×1
unit-testing ×1
winforms ×1
xcode ×1