小编ash*_*shr的帖子

在用c ++初始化对象之前声明一个对象

是否可以在不实例化的情况下在c ++中声明变量?我想做这样的事情:

Animal a;
if( happyDay() ) 
    a( "puppies" ); //constructor call
else
    a( "toads" );
Run Code Online (Sandbox Code Playgroud)

基本上,我只是想声明条件的外部,以便它获得正确的范围.

有没有办法在不使用指针和a在堆上分配的情况下执行此操作?也许引用聪明的东西?

c++ scope declaration instantiation

47
推荐指数
7
解决办法
4万
查看次数

检查文件是否包含字符串

所以我在这里找到了这个问题,但我遇到输出问题以及如何用if语句处理它.这就是我所拥有的,但它总是说即使文件中不存在文字监视器也是如此

if File.readlines("testfile.txt").grep(/monitor/)
  do something
end
Run Code Online (Sandbox Code Playgroud)

它应该是=="nil"吗?我对ruby很新,不知道输出会是什么.

ruby if-statement

35
推荐指数
3
解决办法
4万
查看次数

"在我的机器上工作" - 如何修复不可重复的错误?

偶尔,尽管进行了所有的测试工作,我仍然会遇到一个客户的错误报告,我无法在办公室重现.


(向杰夫申请"借用"徽章)

我有一些"工具",我可以尝试找到并修复它们,但它总是让我觉得有点像刀和它一样: -

  • 要求客户提供越来越多的上下文:(systeminfo)
  • 从我们的应用程序记录日志
  • 与客户进行特别测试以尝试改变行为
  • 为客户提供具有额外诊断功能的新构建
  • 想一想洗澡中的问题......
  • 实地考察(假设客户在温暖和阳光充足的地方)

是否有设置程序或其他技术比任何人用来解决这样的问题?

testing debugging

33
推荐指数
4
解决办法
3264
查看次数

C - 检查是否已分配整数

如何确定是否取消分配整数?

int i; /* no assignment */

if (/* conditional statement here to check if int i is unassigned or not */) {
   printf("Integer is unassigned!\n");
} else {
   printf("Integer is assigned!\n");
}
Run Code Online (Sandbox Code Playgroud)

c int initialization

28
推荐指数
3
解决办法
4万
查看次数

Hudson的经验 - 构建矩阵项目

有没有人尝试过该功能并有一些反馈?或者有人知道一些有用的样本要查找吗?

continuous-integration hudson jenkins

23
推荐指数
2
解决办法
4万
查看次数

Java"unchecked调用compareTo(T)作为原始类型java.lang.Comparable的成员"

我正在尝试将排序列表实现为Java中的简单练习.为了使它具有通用性我有一个add(Comparable obj)所以我可以在任何实现Comparable接口的类中使用它.

但是,当我obj.compareTo(...)在代码中的任何地方使用时,我"unchecked call to compareTo(T) as a member of the raw type java.lang.Comparable"从编译器(带-Xlint:unchecked选项)获得.代码工作正常,但我无法弄清楚如何摆脱这个恼人的消息.

任何提示?

java generics unchecked comparable

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

C#如何将File.ReadLines转换为字符串数组?

我的问题是将读取行的过程从文本文件转换为数组而不是仅仅读取它.

我的代码中的错误出现在string[] lines = File.ReadLines("c:\\file.txt");with with implicity转换....

有人可以建议代码以数组格式保存结果吗?我已经放置了ReadAllLines代码,它能够将结果保存在数组中.谢谢!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.IO;

namespace Testing
{
class Analysis
{
    static void Main()
    {
        string[] lines = File.ReadLines("c:\\file.txt");

        foreach (string r in lines)
        {
            Console.WriteLine("-- {0}", r);
        }

        // Keep the console window open in debug mode.
        Console.WriteLine("Press any key to exit.");
        System.Console.ReadKey();
    }
}
}
Run Code Online (Sandbox Code Playgroud)

ReadAllLines代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.IO;

namespace Testing
{ …
Run Code Online (Sandbox Code Playgroud)

c# file

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

jQuery - 添加子元素的正确方法?

这是我jQuery的第一天,所以请耐心等待.目前,我通过执行以下操作向我的父容器添加元素:

var uploadedContainer =$('#uploadedimages');
var uploadedItem = '<div><span>'+file.name
                 + '</span><span><a class="mylink" href=remove.aspx?img='
                 + safeUrl+'>Remove</a></span></div>';
uploadedContainer.append(uploadedItem);
Run Code Online (Sandbox Code Playgroud)

虽然它有效,但我不确定这是否是完成此任务的正确方法.此外,是否可以将元素添加到父元素,并淡化子元素?使用的一个例子很棒!

jquery

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

命令行Matlab中的vi输入模式?

我有这些线~/.inputrc:

set editing-mode vi 
set keymap vi
Run Code Online (Sandbox Code Playgroud)

这允许我vi在每个使用GNU读取行进行文本输入的程序中使用键绑定.例如:python,irb,sftp,bash,sqlite3,等.它使得使用命令行变得轻而易举.Matlab 使用readlines,但是在调试或交互式工作时,vi键绑定会很棒.有现成的解决方案吗?

我倾向于使用matlab -nosplash -nodesktop命令行,并且让我思考:有可能写出一个包装使用readlines方法和输入传递给matlab?(如果我必须实现这一点,我可能更愿意在Ruby中这样做.)

更新:

谢谢您的帮助.这几乎有效:

# See also: http://bogojoker.com/readline/
require 'readline'

puts 'Starting Matlab...'
io = IO.popen('matlab -nosplash -nodesktop 2>&1', 'w+')

while input_line = Readline.readline('>> ', true)
  io.puts input_line
  puts io.gets
end
Run Code Online (Sandbox Code Playgroud)

但它一次只从Matlab读取一行(因为我正在使用gets).关于如何在下次等待输入之前获取所有内容的任何想法?这是发生了什么(我在>>提示符处输入内容):

Starting Matlab...
>> 1

>> 2
                            < M A …
Run Code Online (Sandbox Code Playgroud)

ruby vim matlab

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

找到最大的连续矩形集以覆盖多个区域

我正在为矮人要塞游戏开发一个名为Quickfort的工具.Quickfort将csv/xls格式的电子表格转换为Dwarf Fortress执行的一系列命令,以便在游戏中绘制"蓝图".

我目前正在尝试最佳地解决该工具的2.0版本的区域绘图问题.

考虑以下"蓝图",它定义了二维网格的绘图命令.网格中的每个单元格应该被挖出("d"),被引导("c")或者未被开槽(".").在实际使用中可能存在任意数量的不同绘图命令.

. d . d c c
d d d d c c
. d d d . c
d d d d d c
. d . d d c
Run Code Online (Sandbox Code Playgroud)

为了最大限度地减少需要发送到Dwarf Fortress的指令数量,我想找到一组最大的连续矩形,可以形成这些矩形以完全覆盖或"绘制"所有可绘制的单元格.为了有效,所有给定矩形的单元格必须包含相同的命令.

这是比Quickfort 1.0更快的方法:将每个单元格单独绘制为1x1矩形. 此视频显示了两个版本之间的性能差异.

对于上述蓝图,解决方案如下所示:

. 9 . 0 3 2
8 1 1 1 3 2
. 1 1 1 . 2
7 1 1 1 4 2
. 6 . 5 4 2
Run Code Online (Sandbox Code Playgroud)

上面的每个相同编号的矩形表示连续的矩形.最大的矩形优先于可能在其区域中形成的较小矩形.编号/矩形的顺序并不重要.

目前的方法是迭代的.在每次迭代中,我通过从单元格的所有4个方向延伸,构建可以从每个网格的可绘制单元格形成的最大矩形的列表.在首先对列表进行排序之后,我从找到的最大矩形开始,将其基础单元格标记为"已绘制",并将矩形记录在列表中.在绘制每个矩形之前,检查其基础单元格以确保它们尚未绘制(与先前的绘图重叠).然后我们再次开始,找到可以形成的最大剩余矩形并绘制它们,直到所有单元格都被绘制为某个矩形的一部分.

我认为这种方法稍微优于愚蠢的暴力搜索,但我浪费了很多周期(重新)计算细胞的最大矩形并检查基础细胞的状态. …

algorithm geometry

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