所以我设计了以下函数来查看给定数字是否是Haskell中的素数(它假设第一个素数是2):
isPrime k = length [ x | x <- [2..k], k `mod` x == 0] == 1
Run Code Online (Sandbox Code Playgroud)
它有继续评估的明显缺陷,即使它可被几个数字整除:(.当使用列表推导找到多个解决方案时,是否有任何理智的"削减"评估的方法?
另外,你会尝试哪些其他实现?我不是在这里寻找表现,我只是想看看是否还有其他更"冒险"的方式来做同样的事情.
我正在为使用 Qt 的应用程序开发交互式 python shell。但是我似乎无法获得重定向的交互式帮助。我的 python 代码中有这个:
class OutputCatcher:
def __init__(self):
self.data = ''
def write(self, stuff):
self.data += stuff
sys.stdout = OutputCatcher()
Run Code Online (Sandbox Code Playgroud)
然而,当我运行 help() 时,它不会重定向交互式帮助,它只是将其转储到我运行 python 脚本的控制台。如果我在控制台中按 ctrl+c ,它就会将其发送到我的 OutputCatcher 对象。
我确实尝试过谷歌,但找不到任何东西。
我将可观察字典从视图模型绑定到视图.我使用Caliburn Micro Framework.
视图:
<ListBox Name="Friends"
SelectedIndex="{Binding Path=SelectedFriendsIndex,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedItem="{Binding Path=SelectedFriend, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource friendsListStyle}"
IsTextSearchEnabled="True" TextSearch.TextPath="Value.Nick"
Grid.Row="2"
Margin="4,4,4,4"
PreviewMouseRightButtonUp="ListBox_PreviewMouseRightButtonUp"
PreviewMouseRightButtonDown="ListBox_PreviewMouseRightButtonDown"
MouseRightButtonDown="ListBox_MouseRightButtonDown"
Micro:Message.Attach="[MouseDoubleClick]=[Action OpenChatScreen()]" >
Run Code Online (Sandbox Code Playgroud)
视图模型类中的代码.
属性看起来像这样:
public MyObservableDictionary<string, UserInfo> Friends
{
get { return _friends; }
set
{
_friends = value;
NotifyOfPropertyChange(() => Friends);
}
}
Run Code Online (Sandbox Code Playgroud)
在Dispatcher计时器中,我每隔3秒调用一个单独的线程新服务方法.
所以我的视图模型的构造函数我有这个:
_dispatcherTimer = new DispatcherTimer();
_dispatcherTimer.Tick += DispatcherTimer_Tick;
_dispatcherTimer.Interval = TimeSpan.FromSeconds(3);
_dispatcherTimer.Start();
_threadDispatcher = Dispatcher.CurrentDispatcher;
Run Code Online (Sandbox Code Playgroud)
而计时器滴答方法在这里:
private void DispatcherTimer_Tick(object sender, EventArgs eventArgs)
{
new System.Threading.Tasks.Task(() =>
{
//get new data from server …Run Code Online (Sandbox Code Playgroud) 我知道Valgrind,但它只是检测内存管理问题.我正在搜索的是一个工具,它给了我一个概述,我的程序的哪些部分确实消耗了多少内存.使用例如树图(如KCachegrind为Callgrind所做的)的图形表示将是很酷的.
我正在使用Linux机器,因此Windows工具对我没有多大帮助.
我想在配置文件中存储html选择框的源代码.这些包含一个冗长的字符串,不经常更改(但偶尔会改变):
我已经使用了commons-configuration.是否可以在某种配置对象(XMLConfiguration,HierarchicalConfiguration等)中使用相同的属性键存储它们?我的意思是能够使用类似于getStringArray()(或列表)的界面一次性检索它们吗?例:
// reject.reason = Lorem ipsum sit amet nr. 1
// reject.reason = Lorem ipsum sit amet nr. 2
// reject.reason = Lorem ipsum sit amet nr. 3
// reject.reason = Lorem ipsum sit amet nr. 4
config.getStringArray(reject.reason)
Run Code Online (Sandbox Code Playgroud)
我不想让它们在同一条线上分开,因为,首先,原因是冗长的,其次,有很多原因(> 10).
我也不想将它们存储在枚举中,b/c如果不重新编译代码就无法更改它们.
有关如何实现这一目标的任何提示?
我在Linux下有一个核心转储.这个过程继续进行内存分配,我需要找到至少发生这种情况的库.
您建议使用什么工具来全面了解内存的来源?我知道问题很难/无法解决.任何能够至少提供一些线索的工具都会有所帮助.
[这是一个python进程,怀疑是内存分配是由一个用C编写的自定义模块引起的]
我们使用带有@AspectJ样式注释的Spring(3.0.5)AOP <aop:aspectj-autoproxy/>
.我们将它用于事务,审计,性能分析等.除了应用程序的启动时间随着更多代码的添加而不断增长之外,它的工作正常.
我做了一些分析,发现大部分时间是在Spring容器初始化期间花费的,更具体地说org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(String, ObjectFactory)- 花费大约35秒.
org.springframework.aop.support.AopUtils.canApply(Pointcut, Class, boolean) - 大约需要15秒.
我的目标是让应用程序在5-10秒内启动,而不是现在的约45秒,所以任何提示都会非常感激.
我在J2ME环境中工作了6个月.在这6个月中,我完成了j2me基础知识UI设计,包括文本框,表单,画布等.
现在,我的组织为我分配了一个黑莓应用程序.我认为,"net_rim_api.jar"需要在j2me中开发黑莓应用程序.但我不知道从哪里下载这个jar.请好好告诉我链接等
c# ×2
java ×2
linux ×2
python ×2
algorithm ×1
aop ×1
arrays ×1
blackberry ×1
c++ ×1
coredump ×1
dispatcher ×1
haskell ×1
iphone ×1
java-me ×1
memory ×1
memory-leaks ×1
mvvm ×1
performance ×1
primes ×1
profiler ×1
properties ×1
pyqt4 ×1
qt ×1
spring ×1
spring-aop ×1
valgrind ×1
wpf ×1