小编Nik*_*sMM的帖子

是否有人使用Scheme编程语言?

我刚刚开始在我的大学学习计算机科学,他们教我们在Scheme中编程.

由于我在过去的6年里学过C++,所以Scheme对我来说有点奇怪.我的教师告诉我你可以编写任何你可以用C或Java编写的程序.

有人真的使用这种语言吗?

scheme

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

我可以让pytest doctest模块忽略一个文件吗?

我们使用pytest来测试我们的项目,并--doctest-modules默认启用它来收集整个项目的所有doctests.

但是有一个wsgi.py在测试收集期间可能无法导入,但我无法让pytest忽略它.

我尝试将它放在collect_ignore列表中,conftest.py但显然doctest模块不使用此列表.

唯一可行的是将整个目录wsgi.py放入norecursedirspytest配置文件中,但这显然隐藏了我不想要的整个目录.

有没有办法让doctest模块只忽略某个文件?

python doctest pytest

12
推荐指数
2
解决办法
952
查看次数

factory_boy中的一对多关系

我使用SQLalchemy作为我的ORM,并试图将我的测试夹具移植到factory_boy.我的架构包括一对多关系中的两个对象.即一个模型的实例具有类似于具有另一个模型的结构的列表.例:

class Person(...):
  id = Column(Integer, primary_key=True)
  name = Column(Text)
  [...]

class Address(...):
  id = Column(Integer, primary_key=True)
  city = Column(Text)
  [...]
  person_id = Column(Integer, ForeignKey('person.id'))
  person = relationship("Person", backref="addresses")
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试创建一个工厂,创建具有几个地址的人.Factory_boy有SubFactory.但我只看到你如何在一对一的关系中使用它.我知道我可以用一个单独的工厂创建地址然后附加它们,但我想做像person =PersonFactory.create(num_addresses = 4)` 这样的事情.

有谁知道这在Factory_boy目前是否可行?

我使用factory_boy 2.4.1.

python sqlalchemy factory-boy

8
推荐指数
2
解决办法
2564
查看次数

用反引号调用的外部程序仍会产生输出

所以我在perl中调用外部程序并想要捕获它的输出:

my @RNAalifoldOut = `RNAalifold some parameters`;
Run Code Online (Sandbox Code Playgroud)

如果从命令行调用,则输出包含三行,例如:

4 sequences; length of alignment 48.
__GCCGA_UGUAGCUCAGUUGGG_AGAGCGCCAGACUGAAAAUCAGA 
...((((.....((((.........)))).(((((.......)))))
Run Code Online (Sandbox Code Playgroud)

但是,我的数组@RNAalifoldOut只包含最后两行,并且当执行该行时,第一行直接出现在屏幕上.

怎么会这样?我想也许程序可以写第一行STDERR,但不是反引号运算符丢弃的吗?我该怎么做才能隐藏这个输出?

关心尼克

perl backticks

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

仅在用户交互后调用itemStateChanged()

在我的swing应用程序中,我有一个带有ItemListener的组合框,如果用户更改了值,则会执行X(通过itemStateChanged()).但是,我也有一个不同的功能,可以更改该组合框的值.在这种情况下,我不希望X完成.

有没有办法找出状态变化是由用户交互还是由函数引起的?

谢谢!

编辑:我使用了标志方法.谢谢你的快速解答.我只想补充一点,itemStatechanged实际上被调用了两次,一次用于取消选择,一次用于选择.这需要处理,否则旗帜不会有任何影响.这里讨论的问题.

java swing

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

perl取幂导致"nan"

我有以下问题:我有许多值x,我需要计算x ^ e(e是euler的数字).我这样做:

$x = $x ** exp(1);
Run Code Online (Sandbox Code Playgroud)

这导致我的所有测试案例都"纳米".

但是,如果我在执行此操作之前打印$ x的值,然后取一个并将上面的行更改为:

$x = -12.4061063212051 ** exp(1);
Run Code Online (Sandbox Code Playgroud)

它会产生完美的数字.

谁能指出我在这里做错了什么?

谢谢

PS:也许错误隐藏在其他地方,所以这是我如何计算$ x:

$y = #some float value taken from the output string of another program
$x = ($y/(303 * 0.0019872041));
print $x; #prints number
$x = $x ** exp(1);
print $x; #prints "nan"
Run Code Online (Sandbox Code Playgroud)

perl number-formatting

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

如何通过网络套接字发送perl哈希?

我正在开发一个由服务器和多个客户端组成的工具.客户端创建需要通过网络套接字发送到服务器的哈希.

我认为nstore是正确的做法,但我找不到一种方法来检索服务器上的数据.

谁能告诉我如何正确地做到这一点?

关心尼克

PS:我知道我可以用某种字符串格式编写数据并在服务器上重建它,但我想知道是否可以避免这种情况.

perl networking serialization

1
推荐指数
2
解决办法
883
查看次数

Android的经验?

我想买一台运行Android的新手机.从我所听到的,我认为它是安静的可编程和可定制的.你有什么经历?

关于这个话题有没有好书?

android

0
推荐指数
1
解决办法
192
查看次数