小编And*_*anu的帖子

从python调用gnuplot

我有一个python脚本,经过一些计算后会生成两个格式为gnuplot输入的数据文件.

我如何从python'调用'gnuplot?

我想将以下python字符串作为输入发送到gnuplot:

"plot '%s' with lines, '%s' with points;" % (eout,nout)
Run Code Online (Sandbox Code Playgroud)

其中" EOUT "和" NOUT "是两个文件名.

PS:我宁愿不使用额外的Python模块,只有标准的API(例如gnuplot的-PY).

谢谢

python gnuplot

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

反向列表Scala

给出以下代码:

import scala.util.Random

object Reverser {

  // Fails for big list
  def reverseList[A](list : List[A]) : List[A] = {
    list match {
      case Nil => list
      case (x :: xs) => reverseList(xs) ::: List(x)
    }
  }

  // Works
  def reverseList2[A](list : List[A]) : List[A] = {
    def rlRec[A](result : List[A], list : List[A]) : List[A] = {
      list match {
        case Nil => result
        case (x :: xs) => { rlRec(x :: result, xs) }
      }
    }
    rlRec(Nil, list)
  } …
Run Code Online (Sandbox Code Playgroud)

recursion functional-programming scala tail-recursion list

19
推荐指数
5
解决办法
1万
查看次数

面试问题:符合垃圾收集条件的对象

提供以下代码:

class A {
    Boolean b;
    A easyMethod(A a){
        a = null;
        return a;
    }
    public static void main(String [] args){
        A a1 = new A();
        A a2 = new A();
        A a3 = new A();
        a3 = a1.easyMethod(a2);
        a1 = null;
        // Some other code 
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是之前有多少对象符合垃圾收集的条件// Some other code.

然后正确答案是(至少那是面试官的答案):2 - 布尔值,b因为它是一个包装器和a1.

你能帮我解释一下为什么a2a3不是垃圾收集?

后期编辑:

  • 好的,我想我现在明白了.起初有点混乱,但现在我确信面试官是错的.我最初的错误是,起初我并不认为Java只是通过值传递,因此不可能从以"a2"作为参数的函数内部生成a2 null,因为a2实际上是a2的副本.
  • 布尔b的部分确实非常明显.

谢谢你的回答,我会在那之后发一些面试反馈:).

java garbage-collection

18
推荐指数
5
解决办法
8165
查看次数

为了掌握Haskell,您投入了多少时间?

我知道这个问题可能听起来很傻,但我正在学习(至少尝试)Haskell大约4天.我已经读完了http://learnyouahaskell.com/,现在我正在投入时间:Haskell的逻辑,数学和编程之路,事情变得非常复杂.我没有函数式编程的经验,只有一些关于Lisp的基础知识.

即使我理解这些概念,当我必须编写一段不那么基本的代码时,总会有一个黑暗,我无法在脑海中建立一个计划.似乎有很多方法可以完成某项任务,但我无法表达自己.

经过4天的python,我可以编写复杂的脚本(不是'pythonic',但它们确实有效).在哈斯克尔呆了4天后,我......几乎是空白.

关于如何提高我的功能技能的任何建议?你完全掌握Haskell需要多长时间?

haskell functional-programming

16
推荐指数
1
解决办法
2695
查看次数

如何检索C/Linux上的处理器数量?

我正在编写一个小型C应用程序,它使用一些线程来处理数据.我希望能够知道某台机器上的处理器数量,而不使用system()和小脚本.

我能想到的唯一方法是解析/ proc/cpuinfo.任何其他有用的建议?

c parallel-processing posix

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

如何解决"编程挑战(编程竞赛培训手册)"中提出的"密码踢球者"练习?

"编程挑战(编程竞赛培训手册)"可能是关于算法的最好的练习册之一.我已经解决了前11个练习,但现在我遇到了"Crypt Kicker"问题:

Crypt Kicker
加密文本的一种常见但不安全的方法是置换字母表中的字母.换句话说,字母表中的每个字母在文本中始终被其他字母替换.为确保加密是可逆的,没有两个字母被相同的字母替换.

您的任务是解密几个编码的文本行,假设每行使用不同的替换集,并且解密文本中的所有单词都来自已知单词的字典.

输入
输入由一个包含整数n的行组成,后跟n个小写单词,每行一个,按字母顺序排列.这n个单词组成可能出现在解密文本中的单词字典.
字典后面有几行输入.如上所述加密每一行.

字典中的单词不超过1000个.没有字超过16个字母.加密行仅包含小写字母和空格,长度不超过80个字符.

输出
解密每一行并将其打印到标准输出.如果有多种解决方案,任何人都可以.
如果没有解决方案,请用星号替换字母表中的每个字母.

Sample Input 6

dick
jane
puff
spot
yertle

bjvg xsb hxsn xsb qymm xsb rqat xsb pnetfn
xxxx yyy zzzz www yyyy aaa bbbb ccc dddddd

样品输出
鸡巴和jane和粉扑和斑点和yertle ...

我应该采取什么策略来解决这个问题?我正在考虑一个经典而野蛮的回溯解决方案,但我正在努力避免这种情况,直到我发现更聪明的东西.

PS:这不是与家庭作业有关,我只是想提高我的整体技能.

algorithm backtracking

14
推荐指数
1
解决办法
4055
查看次数

是否有任何解决方法使结构成员在C中以某种方式"私有"?

我正在用C开发一个简单的库,供我自己+一些朋友个人使用.

我目前有一个C结构,其中一些成员应该以某种方式隐藏在应用程序的其余部分,因为它们的使用只是内部的.偶然修改其中一个成员可能会使图书馆"疯狂".

是否有任何"解决方法"隐藏这些成员以使其无法访问?

c encapsulation

14
推荐指数
1
解决办法
2888
查看次数

C通用编程

首先,我是一名初学者程序员(还有很多需要学习的东西).在我的一个小型学校项目中,我为一个结构编写了一个堆栈.现在我有一个稍微不同的结构,我也需要一个堆栈.我应该编写另一个数据结构[stack](非常类似于初始的),或尝试实现一些通用编程......

你知道C中有什么好的通用编程策略(最终在线资源)吗?我使用谷歌,但我没有发现任何令人满意的,因为大多数结果都是关于C++策略.

谢谢!

后期编辑:经过一些阅读和体验,最终我找到了两个解决方案来解决我的问题.我在这里记录了它们:http://andreinc.net/2010/09/30/generic-data-structures-in-c/.那篇文章可能包含错误或不确定性,但它总结了迄今为止我所知道的内容.

c generics data-structures

13
推荐指数
3
解决办法
6263
查看次数

Java DOM - 一个接一个地插入一个元素

给出以下XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<process
    name="TestSVG2"
    xmlns="http://www.example.org"
    targetNamespace="http://www.example.org"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <sequence>
      <receive name="Receive1" createInstance="yes"/>
      <assign name="Assign1"/>
      <invoke name="Invoke1"/>
      <assign name="Assign2"/>
      <reply name="Reply1"/>
   </sequence>
</process>
Run Code Online (Sandbox Code Playgroud)

我想<sequence></sequence> 在一个预先存在的元素之后添加一个新元素.例如,如果我想在之后添加节点"Assign1",则新XML应该是这样的:

   <sequence>
      <receive name="Receive1" createInstance="yes"/>
      <assign name="Assign1"/>
      <newtype name="NewNode"/>
      <invoke name="Invoke1"/>
      <assign name="Assign2"/>
      <reply name="Reply1"/>
   </sequence>
Run Code Online (Sandbox Code Playgroud)

我必须在一个函数中使用Java DOM来做到这一点.函数签名应该是这样的:

 public void addActionDom(String name, String stepType, String stepName)
Run Code Online (Sandbox Code Playgroud)

哪里:

  • name 是预先存在的元素,之后将插入;
  • stepType 是插入的元素类型;
  • stepName 是新插入元素的name属性.

目前,我缺乏JDOM或任何其他Java XML库的经验.您能否提供一个示例代码,或者指向一个教程,其中在某个元素之后插入.

这是我到目前为止的代码:

    public void addActionDom(String name, String stepType, String stepName) {
        File xmlFile = new File(path …
Run Code Online (Sandbox Code Playgroud)

java xml dom

11
推荐指数
1
解决办法
5万
查看次数

你将如何(重新)在Haskell中实现迭代?

iterate :: (a -> a) -> a -> [a]
Run Code Online (Sandbox Code Playgroud)

(你可能知道)iterate是一个函数,它接受一个函数和起始值.然后它将函数应用于起始值,然后将相同的函数应用于最后的结果,依此类推.

Prelude> take 5 $ iterate (^2) 2
[2,4,16,256,65536]
Prelude> 
Run Code Online (Sandbox Code Playgroud)

结果是一个无限的列表.(这就是我使用的原因take).我的问题是如何iterate'在Haskell中实现自己的功能,只使用基础知识((:) (++)lambdas,模式mataching,警卫等)?

(Haskell初学者在这里)

haskell loops combinators

9
推荐指数
2
解决办法
6929
查看次数