我想听听那些已经熟练掌握F#(以及一般的函数式编程)的人们,从现在开始我应该成为一名更好/专业的F#程序员?
我已经了解了很多F#语法,并且拥有多年的C++经验.我的目标是,作为工程师和数学家,设计更好的科学库(线性代数包,偏微分求解器等).
在下面的代码中,"Move"公共类派生自泛型类型"Submit"."提交"是一种方法,是DSS模型的一部分,它处理消息并接受两个参数,一个是消息体,一个是消息响应.
我的问题是:一个类是如何或为什么派生出一种方法?!
在我看来(因为我只是一个初学者)"泛型类型"意味着这个......任何方法或类(以及扩展,代码的任何"块")都可以成为一种类型.此外,没有类型...一切都只是一个"类",你可以从中派生出来(但你可能不会超载字符串)
这基本上意味着实际上没有方法或类型,而只是类(和一些"子"类(前方法)),你可以从一切派生出来?!
谢谢.我不是在寻找专家"除了这个"的衣服,其中一些小东西是不可能的.事实上,我想确认这是程序员正在做的事情的90%.
public class Move : Submit<MoveRequest, PortSet<DefaultSubmitResponseType, Fault>>
{
public Move()
{
}
public Move(MoveRequest body) : base(body)
{
}
}
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个STL排序,如果容器中不存在确切的值,则返回与目标值"最接近"的元素.它需要很快,所以基本上我正在寻找一个略微修改的二进制搜索...我可以写它,但它似乎应该已经存在的东西......
这里完美地描述了如何做到这一点,唯一的问题是:他不知道这个功能openFileOutput();
private void saveSettingsFile() {
String FILENAME = "settings";
String string = "hello world!";
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); //openFileOutput underlined red
try {
fos.write(string.getBytes());
fos.close();
} catch (IOException e) {
Log.e("Controller", e.getMessage() + e.getLocalizedMessage() + e.getCause());
}
}
Run Code Online (Sandbox Code Playgroud)
这些是我导入的相关包:
import java.io.FileOutputStream;
import java.io.IOException;
import android.content.Context;
Run Code Online (Sandbox Code Playgroud) 我有一张表,其中我有来自两个不同来源的数据.我们之间有一个空行.我想把这个空白行作为我的分隔符.如何找出整行是否为空白.
如何弄清楚mysql服务器(Windows或Linux)上的位置?
我想跑
mysql -u USER -p PASS DATABASE < filename.sql
Run Code Online (Sandbox Code Playgroud)
但我需要mysql的绝对路径,我怎么找出来?
当比较两个指针变体 - 经典与shared_ptr时 - 我对程序运行速度的显着提高感到惊讶.为了测试2D Delaunay增量插入算法已被使用.
编译器设置:
VS 2010(发布)/ O2/MD/GL,W7 Prof,CPU 3.GHZ DualCore
结果:
shared_ptr(C++ 0x00):
N[points] t[sec]
100 000 6
200 000 11
300 000 16
900 000 36
Run Code Online (Sandbox Code Playgroud)
指针:
N[points] t[sec]
100 000 0,5
200 000 1
300 000 2
900 000 4
Run Code Online (Sandbox Code Playgroud)
shared_ptr版本的运行时间大约是其10倍.这是由编译器设置引起的还是C++ 0x00 shared_ptr实现那么慢?
VS2010 Profiler:对于原始指针,大约60%的时间花费在启发式搜索包含插入点的三角形上(这是一个众所周知的事实).但是对于shared_ptr版本,大约58%的时间花在使用shared_ptr.reset()上,只有10%用于启发式搜索.
void DT2D::DT ( Node2DList *nl, HalfEdgesList *half_edges_dt, bool print )
{
// Create 2D Delaunay triangulation using incremental insertion method
unsigned int nodes_count_before = nl->size();
// Remove duplicit points …Run Code Online (Sandbox Code Playgroud) 我有java servlet从mysql数据库中检索数据.为了最小化到数据库的往返,它只在init()方法中检索一次,并被放置到HashMap <>(即缓存在内存中).
现在,这个HashMap是servlet类的成员.我不仅需要存储此数据,还需要在底层hashmap值类的缓存对象中更新一些值(实际上是计数器).并且有一个Timer(或Cron任务)来安排将这些计数器转储到DB.
因此,在谷歌搜索后,我找到了3个存储缓存数据的选项:
1)就像现在一样,作为servlet类的一个成员(但servlet可以被取消服务并由容器随意重新投入使用.然后数据将丢失)
2)在ServletContext中(我是对的,建议在这里存储少量数据吗?)
3)在JNDI资源中.
什么是最喜欢的方式?
我正在写一个有两种失败条件的游戏:
Wordlist是单词列表,frag是前一个片段,a是玩家输入的新字母.所以frag可能看起来像'app'而且可能是'l',意思是形成苹果这个词.
def getLoser(frag, a, wordlist):
word = frag + a
if len(word) > 3:
if word in wordlist:
print 'word in wordlist'
return True
else:
for words in wordlist:
if words[:len(word)] == word:
print words,':', word
print 'valid word left'
return False
else:
print words[:len(word)]
print words,':', word
print 'false found'
return True
else:
return False
Run Code Online (Sandbox Code Playgroud)
出于某种原因,当我输入第四个字母时,它会自动转到for循环中的else,即使我在for循环中的if语句函数在交互式跟踪中的虚拟数据上单独测试时也能正常工作.
这是frag alg的输出和word列表中带有单词algebra的字母e.
Ë
AA
aa:alge
虚假发现
真正
有任何想法吗?
我有数据库的 DBML 文件,并且想从该文件生成 SQL 数据库文件。
谢谢