问题列表 - 第3970页

您使用什么类型的变量名来比较两个对象

我编写了大量数据分析脚本,比较两个对象或字符串以确定差异或找出需要填补的空白。
当您处于循环中,比较对象 a 和对象 b 时,您是否有一个有意义的首选编码标准(即,它是自文档化的)并且可以很好地移植到其他代码?或者变量名与此类代码无关:

for (String a : TreeMapvar) {  
    // Read b from data source  
    if (a.equals(b)) {  
        // Update a  
    }  else {
        TreeMapvar.add(b);
}
Run Code Online (Sandbox Code Playgroud)

另一个例子:

TreeMap<String, MyObject> TreeMapvar = new TreeMap<String, Object>();
File f = "Somefile";
// Open the file with bufferedReader br  
while ((line=br.readLine)!=null)) {  
    //insert code parse line to get object a  
    if (TreeMapvar.containsKey(a)) {  
        if (TreeMapvar.get(a).somefield.equals(a.somefied)) {  
            //insert code to update a  
        } else {  
            //insert code to insert new object  
        } …
Run Code Online (Sandbox Code Playgroud)

language-agnostic variables scripting

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

带接口的动态转换

我有一个带有implements 2接口的类,并继承了1个类.所以,通常它看起来像这样:

class T : public A, public IB, public IC {
};
Run Code Online (Sandbox Code Playgroud)

代码中有一点我有一个IB *,但可以真正使用A *.我希望动态演员喜欢这样:

IB *b_ptr = new T; // it's really more complicated, but serves the example
A *a_ptr = dynamic_cast<A *>(b_ptr);
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用.有没有正确的方法来做到这一点?或者我应该实施一个解决方案?我已经考虑过这两个IB并且IC实际上是从遗传中继承的A,但是我上次尝试过IIRC时,有一些并发症使它变得不可取.

有什么想法吗?

编辑:哦,是的,这是一个插件API的一部分,所以不幸的是我没有直接访问T我需要的类型A *.我的例子彼此相邻,但如上所述,它更复杂.基本上我有2个共享库.TT1(我有一个IB *)都是实现插件API的类,并且是共享库的内部.

澄清:这是我的典型插件的一个更具体的例子(它们在不同的库中):

插件A:

class PluginA : public QObject, public PluginInterface, public OtherInterface {
};
Run Code Online (Sandbox Code Playgroud)

插件B:

class PluginB : public QObject, …
Run Code Online (Sandbox Code Playgroud)

c++ dynamic-cast casting

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

MySQL外键允许NULL?

我正拼凑一个图片网站.基本模式非常简单的MySQL,但是我在尝试表示与图像相关的可能管理标志("不合适","受版权保护"等)时遇到了一些麻烦.我目前的想法如下:

tblImages (
    imageID INT UNSIGNED NOT NULL AUTO_INCREMENT,
    ...
);

tblImageFlags (
    imageFlagID INT UNSIGNED NOT NULL AUTO_INCREMENT,
    imageID INT UNSIGNED NOT NULL,
    flagTypeID INT UNSIGNED NOT NULL,
    resolutionTypeID INT UNSIGNED NOT NULL,
    ...
);

luResolutionTypes (
    resolutionTypeID INT UNSIGNED NOT NULL AUTO_INCREMENT,
    resolutionType VARCHAR(63) NOT NULL,
    ...
);
Run Code Online (Sandbox Code Playgroud)

(为了便于阅读而被截断;各种外键和索引都是有序的,我发誓)

tblImageFlags.flagTypeID在标志类型的查找表上是外键的,你可以想象tblImageFlags.resolutionTypeID 应该是外键的luResolutionTypes.resolutionTypeID.手头的问题是,当首次发布一个标志时,没有逻辑解决方案类型(我很好地宣称这个NULL); 但是,如果设置了一个值,它应该是外键键到查找表.

我找不到这种情况的MySQL语法解决方法.它存在吗?最佳参赛者是:

  • 添加"未经调整"的分辨率类型
  • 添加一个NULL条目luResolutionTypes.resolutionTypeID(这甚至可以在AUTO_INCREMENT列中工作吗?)

感谢您的见解!

PS Bonus指向任何人告诉我,在数据库的情况下,它是"索引"还是"索引".


后续行动:感谢Bill Karwin指出了表格结构中出现的语法错误(NOT NULL如果您希望它允许,请不要设置列NULL …

mysql database null referential-integrity foreign-keys

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

在zsh中,如何将匿名数组传递给函数?

在zsh中,如何将匿名数组传递给函数?例如,寻找类似的东西:

foo() {
  echo ${1[2]} '\n';
}

a=(abc def ghi)
foo $a

--> def
Run Code Online (Sandbox Code Playgroud)

或者理想情况:

foo (abc def ghi)
Run Code Online (Sandbox Code Playgroud)

zsh

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

如何枚举.NET中的所有时区?

我想有一个Windows机器上所有可用时区的列表.我怎么能在.NET中这样做?

我知道TimeZoneInfo.GetSystemTimeZones方法,但这只返回当前选定的时区

DateTimeOffset current = DateTimeOffset.Now;
ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones();
Console.WriteLine("You might be in the following time zones:");
foreach (TimeZoneInfo timeZoneInfo in timeZones)
{
   // Compare offset with offset for that date in that time zone
   if (timeZoneInfo.GetUtcOffset(current).Equals(current.Offset))
   {
        Console.WriteLine("   {0}", timeZoneInfo.DisplayName);
   }
}
Run Code Online (Sandbox Code Playgroud)

timezone

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

函数重载按返回类型?

为什么更多主流的静态类型语言不支持返回类型的函数/方法重载?我想不出那样做.通过参数类型支持过载似乎没有那么有用或合理.怎么这么不受欢迎呢?

programming-languages overloading language-design function-calls

248
推荐指数
5
解决办法
10万
查看次数

预填充内联FormSet?

我正在为一支乐队的出勤报名表工作.我的想法是让表格的一部分输入表演或排练的事件信息.这是事件表的模型:

class Event(models.Model):
    event_id = models.AutoField(primary_key=True)
    date = models.DateField()
    event_type = models.ForeignKey(EventType)
    description = models.TextField()
Run Code Online (Sandbox Code Playgroud)

然后我想要一个内联FormSet,将乐队成员链接到事件并记录它们是否存在,缺席或原谅:

class Attendance(models.Model):
    attendance_id = models.AutoField(primary_key=True)
    event_id = models.ForeignKey(Event)
    member_id = models.ForeignKey(Member)
    attendance_type = models.ForeignKey(AttendanceType)
    comment = models.TextField(blank=True)
Run Code Online (Sandbox Code Playgroud)

现在,我想做的是预先填充此内联FormSet,其中包含所有当前成员的条目,并默认它们存在(大约60个成员).不幸的是,Django 在这种情况下不允许初始值.

有什么建议?

python django django-forms

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

你如何根据自己的风格选择元素?

使用jQuery,你会如何找到具有特定样式的元素(例如float: left:),无论它是内联样式还是CSS文件中定义的样式?

css jquery css-selectors

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

如何使用第一个可用端口在Python中创建HTTP服务器?

我想避免硬编码端口号,如下所示:

httpd = make_server('', 8000, simple_app)
Run Code Online (Sandbox Code Playgroud)

我以这种方式创建服务器的原因是我想将它用作Adobe AIR应用程序的"内核",因此它将使用PyAMF进行​​通信.由于我在客户端运行它,因此很有可能我定义的任何端口都已被使用.如果有更好的方法来做到这一点,我问错了问题,请告诉我.

python httpserver

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

在不使用MPMoviePlayer的情况下在iPhone上制作动画图像(如电影)的方法

我需要能够在静态图像上显示动画.

鉴于MPMoviePlayer无法控制任何有用的东西,我能想到的唯一方法就是使用多个静态图像,我们会逐一显示这些图像以创建"类似电影"的动画.

我知道我们可以使用UIImageView来执行此操作(通过设置UIImageView animationImages属性然后调用startAnimation),但是我们将在动画中拥有超过100个图像 - 因此内存使用量将最大化.

有没有人有任何好方法来做这种动画?使用Core Animation还是OpenGL?

我的猜测是我们需要创建一个图像缓冲区,当我们加载新图像时,我们会显示图像缓冲区中的图像?

iphone animation core-animation

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