小编Luc*_*cky的帖子

关于Mozart/Oz编程语言的看法?

我意识到Oz是一种相当模糊的语言.我第一次在编程语言大战中听说过它.然后我发现了这篇维基百科的文章,该文章指出Mozart/Oz支持8种不同的范例.

所以我试一试.有很多文档,除了我发现它非常混乱和缺乏.我找不到任何书籍或其他文档,也没有几个例子.此外,它似乎与Emacs紧密集成,我不是很习惯.

您对这种编程语言有何看法:是否完全浪费时间?或者有人能指出我一些好的资源等?

另外,我不想使用Emacs.我还有其他选项,如交互式解释器或正常的编译循环吗?

mozart oz

53
推荐指数
4
解决办法
1万
查看次数

堆栈是否从Java中的深度递归中溢出?

在使用函数式语言之后,我开始在Java中使用更多的递归 - 但是语言似乎有一个相对较浅的调用堆栈,大约1000.

有没有办法让调用堆栈更大?就像在Erlang中一样,我可以创建数百万次调用的函数吗?

当我做项目欧拉问题时,我越来越注意到这一点.

谢谢.

java stack functional-programming overflow

51
推荐指数
7
解决办法
5万
查看次数

在Haskell中生成Fibonacci数?

在Haskell中,如何基于第n个Fibonacci数等于第(n-2)个Fibonacci数加上第(n-1)个Fibonacci数的属性生成Fibonacci数?

我见过这个:

fibs :: [Integer]
fibs = 1 : 1 : zipWith (+) fibs (tail fibs)
Run Code Online (Sandbox Code Playgroud)

我真的不明白,或者它是如何产生无限列表而不是包含3个元素的列表.

我如何通过计算实际定义来编写haskell代码,而不是通过使用list函数做一些非常奇怪的事情?

haskell fibonacci

49
推荐指数
5
解决办法
4万
查看次数

如何在框架可见后调用setUndecorated()?

在我的Swing应用程序中,我希望能够在装饰和未装饰之间切换,而无需重新创建整个框架.但是,在setUndecorated()框架可见后,API不允许我调用.

即使我打电话setVisible(false),isDisplayable()仍然会返回true.API说,使帧不可显示的唯一方法是重新创建它.但是,我不想重新创建框架只是为了关闭一些标题栏.

我正在制作一个可在全屏和窗口模式之间切换的全屏应用程序; 它应该能够在保持状态等的同时切换.

如何在框架可见后执行此操作?

java swing fullscreen

21
推荐指数
4
解决办法
4万
查看次数

File.toURL()已弃用?

为什么该函数java.io.File.toURL()已弃用?我需要传递一个Toolkit.createImage()接受URL对象的URL.Javadoc建议我使用File.toURI().toURL().然而:

C:\Documents and settings\Administrator\...

变为:

C:\Documents%20and%20settings\Administrator\...

这显然是一个无效的文件位置.我发现File.toURL()创建了URL而没有转义,但它已被弃用.虽然它有效但我害怕使用已弃用的函数.什么是不被弃用的方法做同样的事情?

编辑:现在我的代码看起来像:

spriteImage1 = tkit.createImage(new File("./images/sprite1.png").getCanonicalFile().toURL());
Run Code Online (Sandbox Code Playgroud)

编辑:我需要从.jar文件外的文件夹创建一个图像.我需要一个相对位置("./ images/sprite1.png").当我尝试为它提供相对路径时,方法createImage(String)会抛出异常.

java io url

17
推荐指数
5
解决办法
2万
查看次数

#!/ usr/bin/...在文件开头是什么意思?

我可以在Haskell中做这样的事情:

#!/usr/bin/runghc
main=putStrLn "Hello World"
Run Code Online (Sandbox Code Playgroud)

然后我可以运行它 ./hello.hs

我的问题是,为什么忽略第一行?haskell中的注释开头,--但第一行似乎仍然被忽略.它甚至加载到ghci.这个技巧也适用于Python和Perl.

但是当我在Java中做类似的事情:

#!/usr/local/jdk1.6.0_13/bin/javac
...
Run Code Online (Sandbox Code Playgroud)

Javac给了我一个编译器错误.

那么这是如何工作的呢?我将如何使用Java?

谢谢.

linux command-line shebang

16
推荐指数
2
解决办法
9817
查看次数

如何在Windows中管理PATH变量?

每次我尝试使用新语言,编译器,解释器,工具或其他任何东西,并且我想从命令行运行它时,我将不得不转到System并更改我的PATH变量.但是,放置怪物字符串的框只包含一行文本框.我经常发现自己必须将PATH字符串复制/粘贴到记事本中才能编辑它 - 它已经超过半页了.现在我已经计算了大约30个不同的路径URL.

是否有更好的方法来管理路径而不是将所有路径都压缩成一个字符串?我正在考虑使用SUSE进行开发,因为我的PATH非常混乱.

windows system classpath

15
推荐指数
3
解决办法
4503
查看次数

键入代码时如何最小化箭头键的使用?

键入代码时,我通常会关闭括号,返回内部,外出,键入分号等:

我可以从(|是插入符号)开始:

System.out.println()|
Run Code Online (Sandbox Code Playgroud)

然后左转:

System.out.println(|)
Run Code Online (Sandbox Code Playgroud)

然后这个:

System.out.println(foo()|)
Run Code Online (Sandbox Code Playgroud)

再次回溯空间:

System.out.println(foo(|))
Run Code Online (Sandbox Code Playgroud)

输入引号类似:

System.out.println(foo(""|))
Run Code Online (Sandbox Code Playgroud)

...等等.

我的右手在主行和箭头键之间不断移动.我尝试过vim,虽然我知道基础知识,但对我来说仍然感觉很尴尬.

我该怎么做?我应该从左到右键入(打开括号,然后是内容,然后关闭括号,然后是分号)?

谢谢.

coding-style typing

15
推荐指数
4
解决办法
4468
查看次数

你会为初学者程序员推荐vim/emacs吗?

对于刚刚开始编程的人,你会建议使用vim/emacs,还是应该使用某些IDE?像vim/emacs更适合更高级用户而不是初学者?我只是想知道,因为我想让我的一些朋友去编程.

vim emacs

13
推荐指数
4
解决办法
5571
查看次数

为什么Java中的变量不是默认的volatile?

可能类似的问题:

你在Java中使用volatile关键字吗?


今天我正在调试我的游戏; 它有一个非常困难的线程问题,每隔几分钟就出现一次,但很难重现.所以首先我将synchronized关键字添加到我的每个方法中.那没用.然后我将volatile关键字添加到每个字段.问题似乎只是解决了问题.

经过一些实验,我发现负责的领域是一个GameState跟踪我的游戏当前状态的对象,可以是正在播放也可以是忙碌.忙时,游戏会忽略用户输入.我所拥有的是一个不断更改state变量的线程,而Event线程读取state变量.但是,在一个线程更改变量后,另一个线程需要几秒钟来识别更改,这最终会导致问题.

它是通过制作状态变量来修复的volatile.

为什么volatile默认情况下不是Java中的变量,以及不使用volatile关键字的原因是什么?

java multithreading volatile

12
推荐指数
5
解决办法
5482
查看次数