小编Mat*_*len的帖子

"在Haskell中编程"在sat函数中出错

我在Graham Hutton的Haskell编程的第8章中,我正在复制代码并在GHC中对其进行测试.

请参阅此处的幻灯片:http://www.cis.syr.edu/~sueo/cis352/chapter8.pdf,特别是幻灯片15

到目前为止我复制的相关代码是:

type Parser a = String -> [(a, String)]
pih_return :: a -> Parser a
pih_return v = \inp -> [(v, inp)]
failure :: Parser a
failure = \inp -> []
item :: Parser Char
item = \inp -> case inp of
                    [] -> []
        (x:xs) -> [(x,xs)]
parse :: Parser a -> String -> [(a, String)]
parse p inp = p inp
sat :: (Char -> Bool) -> Parser Char
sat p …
Run Code Online (Sandbox Code Playgroud)

haskell

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

将IronPython方法分配给C#委托

我有一个C#类看起来有点像:

public class MyClass
{
    private Func<IDataCource, object> processMethod = (ds) =>
                                                          {
                                                            //default method for the class
                                                          }

    public Func<IDataCource, object> ProcessMethod
    {
        get{ return processMethod; }
        set{ processMethod = value; }
    }

    /* Other details elided */
}
Run Code Online (Sandbox Code Playgroud)

我有一个IronPython脚本,可以在应用程序中运行

from MyApp import myObj #instance of MyClass

def OtherMethod(ds):
    if ds.Data.Length > 0 :
        quot = sum(ds.Data.Real)/sum(ds.Data.Imag)
        return quot
    return 0.0

myObj.ProcessMethod = OtherMethod
Run Code Online (Sandbox Code Playgroud)

但是当ProcessMethod被调用(在IronPython之外)时,在这个赋值之后,运行默认方法.

我知道脚本是运行的,因为脚本的其他部分都有效.

我该怎么做?

c# delegates ironpython variable-assignment

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

为什么 Image.Save(Stream, ImageFormat) 会抛出异常?

我正在尝试将图像转换为图标。我的功能是:

private Icon GenerateIcon(int width, int height)
{
    using (Bitmap icon = _backingImage.GetThumbnailImage(width, height, () => false, System.IntPtr.Zero) as Bitmap)
    using(MemoryStream imgStream = new MemoryStream())
    {
        icon.Save(imgStream, System.Drawing.Imaging.ImageFormat.Icon);
        return new Icon(imgStream);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当程序调用该方法时,它会抛出一个ArgumentNullException("encoder")我正在调用的地方icon.Save

我觉得这很奇怪,因为我没有传入编码器,我希望框架弄清楚编码器应该是什么,这就是我传入ImageFormat.

是没有任何编码器ImageFormat.Icon,还是我做错了什么?

c# icons encoder .net-4.0

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

OpenOffice pyuno"全选"

有谁知道如何使用OO uno bridge api在Calc表中"全选"?

或者,找到最大使用的行和列号将起作用.

我想要做的是将格式应用于电子表格中的所有单元格.

(原因是我将工作表保存为csv,因此除非格式提供足够的小数位,否则数字不会准确保存.)

python openoffice.org uno pyuno openoffice-calc

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

关闭 Internet Explorer 浏览器后退按钮上的表单字段自动完成功能

有一些问题解释了如何关闭表单字段的自动完成功能,但是我在这里有一个具体问题:

我已将 设为autocomplete="off"<form>所有表单字段。当用户使用浏览器后退按钮从表单目标页面返回到原始页面(包含表单)时,我想防止浏览器预填充字段。表单字段使用一些不支持预填充值的 jQuery UI 小部件。用户在提交表单之前必须与表单进行交互。

这在 Firefox、Chrome、Safari 中按预期工作。但是它在 Internet Explorer 中不起作用(我测试了版本 8 和 9)。当通过浏览器的后退按钮返回页面时,IE 仍然会填写字段。

这是一个静态 HTML 页面,因此我无法执行一些后端操作,例如设置随机表单字段名称/ID。

我能做些什么?

html forms internet-explorer autocomplete

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

Scheme的中间介绍是什么?

我正在努力寻找一种可以在计划中练习编程技巧的资源.

我有一个专门使用方案的课程.虽然我已经用C++和Java完成了适量的编程,并且掌握了关于好/坏编程实践和不同编程范例的基本思想(就像一个二年级大学生可以预期的那样),Scheme对我来说看起来像是象形文字!

任何帮助,将不胜感激.

scheme

5
推荐指数
3
解决办法
854
查看次数

在一张桌子上创建多对多

Flask-SQLAlchemy给出了如何创建多对多关系的示例.它在两个不同的表之间完成.

是否可以在同一个表上创建多对多的关系?例如,一个姐妹可以有很多姐妹,她们也会有很多姐妹.我试过了:

girl_sister_map = db.Table('girl_sister_map',
                      db.Column('girl_id', 
                                db.Integer, 
                                db.ForeignKey('girl.id')),
                      db.Column('sister_id', 
                                db.Integer, 
                                db.ForeignKey('girl.id')))

class Girl(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String)
    sisters = db.relationship('Girl',
                              secondary=girl_sister_map,
                              backref=db.backref('othersisters', lazy='dynamic'))
Run Code Online (Sandbox Code Playgroud)

但当我试图给一个女孩添加一个妹妹时,我得到:

sqlalchemy.exc.AmbiguousForeignKeysError:无法确定关系Girl.sisters上的父/子表之间的连接条件 - 有多个外键路径通过辅助表'girl_sister_map'链接表.指定'foreign_keys'参数,提供这些列的列表,这些列应被计为包含从辅助表到每个父表和子表的外键引用.

这可能吗?我应该怎么做?

python flask-sqlalchemy

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

GTK/Python:如何获取按键事件来编辑和导航 TreeView 单元格?

我已经连接到“按键事件”来浏览 Gtk.TreeView。我成功地让Tab向右导航(跨行)。我在使用Return向下导航时遇到问题。当一个单元格被选中时,我可以编辑它的内容,但我必须按一次Return来提交值,然后再次导航到下面的单元格。我希望行为像Tab 一样,我按一次Return并提交更改并且所选单元格向下移动一个。我正在寻找类似电子表格的行为。

我猜这里与键绑定存在冲突,即第一个Return press 事件提交更改,第二个Return press 事件向下导航。此外,我尝试连接Shift_L键(而不是Return)以向下导航,当它一键导航时,它也无法将更改提交到单元格。

如果需要,我会创建一个 MWE,但我认为那里的某个人可能知道这里的问题,并且可以为我指明正确的方向或教育我。

编辑:好的,我花时间将所有内容精简为一个 MWE,任何人都可以提供帮助。相关的代码部分是名为onTreeNavigateKeyPress的回调函数。其中,麻烦的条件是elif keyname == 'Return'。如果您在您的机器上运行它,您将看到您可以将单元格值和Tab更改为右侧,并且Tab都向右导航并将更改的值提交到单元格。使用Return键执行相同操作将提交更改,但您需要再次按Return以向下导航。叫我迂腐,但我讨厌那样。正如您从代码中看到的,我尝试调用Gtk.TreeView.set_cursor方法直接使用新位置以及使用Glib.timeout_add从新线程调用它。

#!/usr/bin/env python3`

from gi.repository import Gtk, Gdk, GLib


class linFitApp(Gtk.Window):

    def __init__(self):

        Gtk.Window.__init__(self, title='Testing Keypress Events on Treeview')
        self.set_position(Gtk.WindowPosition.CENTER)
        self.set_default_size(400, 300)
        self.set_border_width(5)

        self.mainBox = Gtk.Box()
        self.scrollTableWindow = Gtk.ScrolledWindow()
        self.scrollTableWindow.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) …
Run Code Online (Sandbox Code Playgroud)

python gtk treeview keypress

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

如何在Dokku中复制CouchDB

我想拍摄一个在app中运行的数据库的快照www并将其放入app中staging。当我使用克隆或创建/导入进行操作时,没有可用的数据。

我打算怎么做?

matt@server:~$ dokku run www curl http://www:password@dokku-couchdb-www:5555/www

{"db_name":"www","doc_count":4966,"doc_del_count":232,"update_seq":46475,"purge_seq":0,"compact_running":false,"disk_size":3071180923,"data_size":334987077,"instance_start_time":"1500006610823893","disk_format_version":6,"committed_update_seq":46475}
Run Code Online (Sandbox Code Playgroud)

因此,您可以看到有4966个文档。

matt@server:~$ dokku couchdb:clone www staging_www
-----> Starting container
       Waiting for container to be ready
=====> CouchDB container created: staging_www
       DSN: http://staging_www:password@dokku-couchdb-staging-www:5555/staging_www
-----> Copying data from www to staging_www
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                                                                                                Dload  Upload   Total   Spent    Left  Speed
100 1110M    0 1110M    0     0  30.4M      0 --:--:--  0:00:36 --:--:-- 31.9M
                                                                              -----> Done
Run Code Online (Sandbox Code Playgroud)

因此,克隆中没有错误。然后我跑

dokku couchdb:link staging_www staging
dokku …
Run Code Online (Sandbox Code Playgroud)

couchdb dokku

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

对象到画布 JavaScript

我正在智能电视上测试 javascript,

我尝试将对象视频放到画布上。使用 html5 视频标签,它可以在我的浏览器中运行,但不能在我的智能电视中运行。

但是当我尝试使用对象播放器时,出现以下错误消息:

无法在“CanvasRenderingContext2D”上执行“drawImage”:提供的值不是“(HTMLImageElement或HTMLVideoElement或HTMLCanvasElement或ImageBitmap)”类型

经过多次测试(id,对象id,对象src..)结果是相同的,我不知道如何将对象视频获取到画布。

这是一个简单的 html 测试:

<canvas id="test" width="300" height="300"></canvas>
<div id="test" style="left: 0%; top: 0%; width: 25%; height: 25%; position: fixed;">
    <object type="application/avplayer" style="width: 480px; height: 270px;"></object>
</div>
Run Code Online (Sandbox Code Playgroud)

和js:

const canvas = document.querySelector("canvas");
const ctx = canvas.getContext("2d");
const video = document.getElementsByTagName('object');
//const video = document.getElementsById('idVideo');
ctx.drawImage(video, 0, 0, canvas.width, canvas.height)
Run Code Online (Sandbox Code Playgroud)

这是我的目标的示例,但我无法使用视频标签: http: //jsfiddle.net/on1kh4o0/

有什么想法或技巧可以用对象获得相同的结果吗?

html javascript canvas

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