问题列表 - 第39315页

`foo <bar <baz`实际上调用了什么方法?

在python中我们可以说:

if foo < bar < baz:
    do something.
Run Code Online (Sandbox Code Playgroud)

同样,我们可以重载比较运算符,如:

class Bar:
    def __lt__(self, other):
        do something else
Run Code Online (Sandbox Code Playgroud)

但实际上调用了那些区间比较的操作数类型的哪些方法呢?是以上相当于

if foo.__lt__(bar) and bar.__lt__(baz):
    do something.
Run Code Online (Sandbox Code Playgroud)

编辑:re S.Lott,这里有一些输出有助于说明实际发生的事情.

>>> class Bar:
    def __init__(self, name):
        self.name = name
        print('__init__', self.name)
    def __lt__(self, other):
        print('__lt__', self.name, other.name)
        return self.name < other.name

>>> Bar('a') < Bar('b') < Bar('c')
('__init__', 'a')
('__init__', 'b')
('__lt__', 'a', 'b')
('__init__', 'c')
('__lt__', 'b', 'c')
True
>>> Bar('b') < Bar('a') < Bar('c')
('__init__', 'b')
('__init__', 'a')
('__lt__', 'b', 'a') …
Run Code Online (Sandbox Code Playgroud)

python operator-overloading

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

将条件表达式解析为字符串

我正在寻找一种将条件表达式解析为字符串的方法.

我能想到的最好的例子是LINQ-to-SQL.它使用ExpressionVisitors格式化"Where"子句.例:

from a in b where a.x == 5 && a.y < 3 select a
Run Code Online (Sandbox Code Playgroud)

这将转换为以下字符串(大约,MSSQL对我来说不是最新的):

"SELECT * FROM b WHERE x = 5 AND y < 3"
Run Code Online (Sandbox Code Playgroud)

根据我的阅读,这是使用ExpressionVisitor类完成的,如本文所述:http://blogs.msdn.com/b/mattwar/archive/2007/07/31/linq-building-an-iqueryable -provider部分,ii.aspx

现在的问题是我不使用LINQ,但我需要这个特殊的功能.有没有办法解析这样的条件?我愿意用反思,代表,lambda等做任何事情.

老实说,我不认为这是可能的,但我的大脑有点油炸(读:如果问题很荒谬,那就好了),所以我想我也可以试试S/O.

编辑:最终用法示例:

// Usage:
foo.Bar(foo => foo.X == 5 && foo.Y < 3)

// Ideal string output (variable name (foo) is not needed):
"foo.X == 5 && foo.Y < 3"
Run Code Online (Sandbox Code Playgroud)

编辑2:是的,一个数字可以低于3并且等于5.告诉你我的大脑是油炸的.

c# linq expression expressionvisitor

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

使用System.Drawing概述文本?

我有以下代码.有没有一种简单的方法来概述我正在写的文字?

 var imageEncoder = Encoder.Quality;
 var imageEncoderParameters = new EncoderParameters(1);
 imageEncoderParameters.Param[0] = new EncoderParameter(imageEncoder, 100L);

 var productImage = GetImageFromByteArray(myViewModel.ProductImage.DatabaseFile.FileContents);
 var graphics = Graphics.FromImage(productImage);

 var font = new Font("Segoe Script", 24);
 var brush = Brushes.Orange;

 var container = new Rectangle(myViewModel.ContainerX, myViewModel.ContainerY,                                      myViewModel.ContainerWidth,                                              myViewModel.ContainerHeight);

 var stringFormat = new StringFormat {Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center};

 graphics.DrawString(customizationText, font, brush, container, stringFormat);
Run Code Online (Sandbox Code Playgroud)

c# graphics system.drawing asp.net-mvc-2

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

这个Java代码是什么意思?

首先,我不是要求任何人做我的作业.我只是对这个Java语法感到困惑.

下面是作业描述和我必须实现的两个类.第一个仅供参考.第二个是我遇到麻烦的那个.

能够用(理论上)具有最大值的数字编程是计算机科学的许多应用中的必要条件.您将编写一系列类来开始此任务.您的最后一课将允许您表示并至少添加任意长度的二进制数.

// You are to write (implement) this class exactly as dictated by the following list of class members.
public abstract AbstractBit: 

  private boolean bit;

  public abstract AbstractBit clone(); 
  public abstract AbstractBit addBits(AbstractBit guest);
  public abstract AbstractBit addBits(AbstractBit guest1, AbstractBit guest2);
  public abstract AbstractBit carryBit(AbstractBit guest);
  public abstract AbstractBit carryBit(AbstractBit guest1, AbstractBit guest2);

  protected void setBit(boolean value)

  public boolean getBit()

  public AbstractBit()

  public AbstractBit(boolean value)

  public AbstractBit(AbstractBit guest)

  public boolean equals(AbstractBit guest)

  public String toString()
Run Code Online (Sandbox Code Playgroud)

这些到底是什么?

为什么我要添加类型的静态类变量 …

java abstract-class

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

jQuery/jqGrid故障排除不显示问题

我试图获取一个示例jqgrid示例以显示在我的本地计算机上.我不是想做任何花哨的事情,而是试图让网格出现.我几乎没有碰过javascript(并希望我能保持这种方式),但是觉得这是我最好的希望在宠物django项目中获取数据以显示在网格中.我正在尝试使用firebug,并且已经设置为停止错误.我收到1个错误,它似乎与jqgrid没有任何关系.有人能指出我如何能够找到为什么页面只是简单地加载任何东西,并且什么都没有错误?除了链接到我自己的本地版本的脚本之外,我基本上从某个地方的jquery示例中复制了代码,以确保在我自定义它以满足我的需求之前使其工作.

我在firebug中看到的唯一错误是jquery-ui-1.8.5中的以下内容.

b.ajaxOptions.success is not a function
Run Code Online (Sandbox Code Playgroud)

我在这里从加载数据 - >数据数据部分获取我的示例代码.

我的代码如下所示.我猜这是一件简单的事情,但是我厌倦了把头发拉出来并希望用django工作而不是javascript nest回来.我已经验证我可以访问顶部的所有脚本链接,所以也许我一味地错过了一个?虽然在某个地方看到某些错误会很好,所以我知道从哪里开始.在这样一个看似简单的问题上,我一直把头发拉了几个小时.非常感谢任何建议/想法.

    <link type="text/css" href="http://localhost/media/jquery-ui/css/dark-hive/jquery-ui-1.8.5.custom.css" rel="stylesheet" /> 
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost/media/jqGrid/src/css/ui.jqgrid.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost/media/jqGrid/src/css/ui.multiselect.css" />

<script type="text/javascript" src="http://localhost/media/jquery-ui/js/jquery-1.4.4.js"></script> 
<script type="text/javascript" src="http://localhost/media/jquery-ui/development-bundle/ui/jquery.ui.core.js"></script> 
<script type="text/javascript" src="http://localhost/media/jquery-ui/development-bundle/ui/jquery.ui.widget.js"></script> 
<script type="text/javascript" src="http://localhost/media/jquery-ui/development-bundle/ui/jquery.ui.tabs.js"></script>

<script type="text/javascript" src="http://localhost/media/jquery-ui/js/jquery-ui-1.8.5.custom.min.js"></script>

<script type="text/javascript" src="http://localhost/media/jqGrid/js/jquery.jqGrid.min.js"></script>
<script type="text/javascript" src="http://localhost/media/jqGrid/js/i18n/grid.locale-en.js"></script>
<script type="text/javascript">
    jQuery.jgrid.no_legacy_api = true;
    jQuery.jgrid.useJSON = true;
</script>
<script type="text/javascript" src="http://localhost/media/jqGrid/src/ui.multiselect.js"></script>
<script type="text/javascript" src="http://localhost/media/jqGrid/js/jquery.jqGrid.min.js"></script>
<script type="text/javascript" src="http://localhost/media/jqGrid/src/jquery.layout.js"></script>
<script type="text/javascript" src="http://localhost/media/jqGrid/src/jquery.contextmenu.js"></script>


<script type="text/javascript">

jQuery("#list4").jqGrid({
    datatype: "local",
    height: 250, …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-plugins jqgrid

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

为什么这个函数返回"undefined"而不是数组?

这项工作:

var stepFunc = 
[
    //Step 0 (it doe not exist)
    function(){console.log("Step 0");},
    //Step 1
    (function(){
        var fFirstTime = true;
        return function(){
            console.log("Step 1");
            if (fFirstTime){
                //Do Something
            }
        }   
    })(),
    // ... Other steps
];
Run Code Online (Sandbox Code Playgroud)

这不起作用:

var stepFunc =
[ // Step 0 
    [
        function(){console.log("Step 0");},
        function(){console.log("Check Step 0");} 
    ], //Step 1         
    (function(){
        var fFirstTime = true;          
        return
        [
            function() { //Initialization function
                console.log("Step 1");
                if (fFirstTime){
                    //Do somrthing
                }
            }, function() { 
                return true;
            }
        ];      
    })(), 
    // …
Run Code Online (Sandbox Code Playgroud)

javascript arrays multidimensional-array

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

如何在elisp代码中注释掉sexps?

在elisp代码中注释掉sexps的首选方法是什么?(if nil ...)到目前为止,我一直在包装我的性别.

emacs elisp

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

为什么这个jquery简单的传输效果不起作用?

正文html代码:

<div style="background:yellow;width:500px;height:300px;">
    <div id="div1" style="background:red; width:100px;height:100px; float:left;"></div>
    <div id="div2" style="background:blue; width:50px;height:50px; float:right;"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

那么js代码:

 $(function () {
        $("#div1").click(function () {
            $(this).effect("transfer", { to: $("#div2") }, 1000);
            //$(this).effect("shake", { times: 2 }, 200);
        });
    });
Run Code Online (Sandbox Code Playgroud)

当然我已导入了

<script type="text/javascript" src="js/jquery-ui-1.8.5.custom.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

你可以在网上看到坏消息:http://jsfiddle.net/hh54188/wz2J3/

下面的"摇动"效果可行,但转移不起作用,如何解决问题?谢谢

jquery user-interface transfer

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

XML到JavaScript对象

我正在寻找一个解析XML字符串并将其转换为JavaScript对象的JavaScript库.什么是好的?

javascript xml json

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

以编程方式打开Mac帮助菜单

我正在将GTK#应用程序集成到Mac OS X.Mac OS X上的GTK是一些Cocoa和Carbon基础的包装器.我们直接使用Carbon全局菜单API有一些特定于平台的东西(它比Cocoa更低级和更灵活,我们不需要是64位).

在Carbon将它们作为命令发送之前,似乎GTK吞噬了所有键盘事件.这是有道理的,因为没有Carbon命令到GTK世界的映射.一般来说,这不是问题,因为我们有一个全局键事件处理程序,并通过我们自己的命令系统调度所有内容.但是,这似乎阻止了Cmd-?从打开帮助搜索菜单,我找不到以编程方式执行此操作的方法.

菜单管理器的MenuSelect功能很有前途,但我还没有找到一种自动确定坐标的方法,由于某些原因它只在我两次击中组合时才有效...

或者,一种方式来发送Cmd-?对Carbon的命令处理进行击键或直接合成命令事件会很好,但我在那方面没有运气.

没有命令ID,Carbon的ProcessHICommand没有任何用处,我无法弄清楚它是什么(如果有的话)

关于Cocoa,我可以抓住NSWindow并调用InterpretKeyEvents,但是我没有任何运气成功合成NSEvent - 它只是发出哔哔声.我正在使用的事件是

var evt = NSEvent.KeyEvent (NSEventType.KeyDown, System.Drawing.PointF.Empty,
    NSEventModifierMask.CommandKeyMask | NSEventModifierMask.ShiftKeyMask,
    0, win.WindowNumber, NSGraphicsContext.CurrentContext, "?", "?",
    false, (ushort) keycode);
Run Code Online (Sandbox Code Playgroud)

密钥代码是从GTK密钥映射确定为44.我使用普通的MonoMac(Cocoa)应用程序确认密钥代码是正确的,但是InterpretKeyEvents也不适用于该应用程序中的事件.我找不到与该命令相关的任何选择器.

gtk macos mono cocoa macos-carbon

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