小编0xA*_*ffe的帖子

使用for循环填充List

为什么我不能用这个简单的for循环填充列表?

new_data = []
for data <- old_data do
  new_data = List.insert_at(new_data, -1, data)
end
Run Code Online (Sandbox Code Playgroud)

在此操作之后new_data,即使循环执行了N次,我的列表仍然为空.

for-loop elixir

8
推荐指数
1
解决办法
3732
查看次数

Django admin:代理模型的用户权限

我创建了一个App,其模型只是代理模型,继承自另一个应用程序的模型.
现在我遇到了问题,我无法通过admininterface为用户提供编辑这些模型的权限.

在管理页面的"用户"应用中,我通常可以授予和撤消特定应用的权限,甚至不会列出此应用.
我已经尝试过,syncdb但这对我没有帮助.

这个 SO线程中的答案对我也没有帮助

编辑
我只是试图创建一个新的模型(在应用程序内部,只包含代理模型).对于此模型,可以授予权限.

当然,由于代理模型使用与其父模型相同的数据,因此如果允许用户更改父模型,则不需要其他权限.但每次我尝试访问此模型时都会显示"禁止"

django django-models django-admin

7
推荐指数
1
解决办法
1008
查看次数

使用Ruby中的GTK3自定义信号

我想从gtk3中的Widget发出自定义信号.
在GTK2中,有一个叫做signal_new创建新信号的函数.
你可以在这里看到一个例子:https://github.com/ruby-gnome2/ruby-gnome2/blob/ec373f87e672dbeeaa157f9148d18b34713bb90e/glib2/sample/type-register.rb

在GTK3中,似乎此功能不再可用.那么在ruby的GTK3中创建自定义信号的新方法是什么?

ruby gtk signals gtk3

6
推荐指数
1
解决办法
234
查看次数

将变量存储在模块中

我以为这是一个非常基本的问题,但在网上搜索后,我找不到解决方案。

我想将变量存储在某处并稍后在函数中引用它。

我想解决的问题如下:
我执行一个 HTTP 请求来获取 API 的访问令牌。该令牌仅在一段时间内有效,我只想在旧令牌过期时获得新令牌。我需要这个令牌来执行其他请求。
因此,我必须将令牌及其有效时间存储在某个地方,以便在其他函数中访问它,我可以在其中处理其他请求。

elixir phoenix-framework

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

通过网络桥接串行端口

对于使用串行端口进行通信的应用程序(确切地说是Modbus RTU),我需要在网络上桥接串行端口以进行测试。

因此,我想进行以下设置:

Device        |     Network      |      PC

SerialPort    |------------------|    SerialPort
Map Serialport|                  | Map network to Serialport
   to Network |                  |   
Run Code Online (Sandbox Code Playgroud)

我已经开始使用socat

我在PC上打开了TCP端口

nc -l 8080
Run Code Online (Sandbox Code Playgroud)

在我使用的设备上

socat  pty,link=/dev/virtualcom0 tcp:PC-IP:8080
Run Code Online (Sandbox Code Playgroud)

要将写入的所有内容映射/dev/virtualcom0到端口8080 上的PC-IP。

但是现在我在将套接字映射回Serialport时遇到了问题。

socat tcp:PC-IP:9123 pty,link=/dev/virtualport0
Run Code Online (Sandbox Code Playgroud)

这给了我一个Connection Refused,这很明显,因为我使用了TCP,并且该端口已被设备使用。
所以我尝试了

socat  pty,link=/dev/virtualcom0,raw  udp:PC-IP:8080
Run Code Online (Sandbox Code Playgroud)

并将其他所有内容都更改为UDP。

但是,那时/dev/virtlalcom0/我的电脑上什么也没到达。

sockets linux networking

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

预加载所有关系

我有一个类似于这个的ERM:

--------     --------     --------
|ModelA|-----|ModelB|-----|ModelC|
--------     --------     --------
Run Code Online (Sandbox Code Playgroud)

我得到了ModelA及其ModelBs,具体如下:

modela = Repo.get(ModelA,1)
modela = preload(modela, :modelb)
Run Code Online (Sandbox Code Playgroud)

现在我可以访问ModelBs了modela.modelb.但我怎么能预装ModelC呢?当我打印我的modelA时,它说,没有加载modelc.

elixir ecto phoenix-framework

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

Python列表生成:强制新对象

Python中有没有办法在创建列表时强制生成新对象?

假设我有一个类Test,我想在列表中存储5个对象.
我使用以下代码生成列表:

myList = [Test()] * 5
Run Code Online (Sandbox Code Playgroud)

使用此代码,python只创建1个对象,存储5次.

当然我可以使用for循环来生成列表.但是在我的真实程序中,这会极大地破坏代码,因为我有大约30个列表,它们部分嵌套在另一个列表中.

那么是否有一种快速的方法(可能是一个单行)强制python在每个条目中生成一个新的对象?

python list

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

将元组分配给两个数组字段

我刚刚注意到python中的一个行为我不明白.
想象一下以下代码:

myArray  = [0] * 10   
myTuple = (1,1)
Run Code Online (Sandbox Code Playgroud)

现在我想将我的元组中的两个值分配给数组中的两个字段.由于Python允许立即更改多个值,我尝试过

myArray[2:3] = myTuple
Run Code Online (Sandbox Code Playgroud)

我对myArray的期望是

[0,0,1,1,0,0,0,0,0,0]
Run Code Online (Sandbox Code Playgroud)

但我真正得到的是

[0,0,1,1,0,0,0,0,0,0,0]
Run Code Online (Sandbox Code Playgroud)

谁能向我解释这种行为?

python arrays tuples

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