问题列表 - 第4577页

在javascript中设置默认值的惯用方法

在javascript中执行以下操作的最惯用方法是什么:

如果调用者没有将myParam传递给MyFunc,那么我想将其设置为默认值.但首先我想尝试从另一个可能尚不存在的对象中获取它:

function MyFunc(myParam) {

    if (!myParam) {
        if (!myObj) {
            myParam = 10;
        }
        else {
            myParam = myObj.myParam;
        }
    }

    alert(myParam);
}
Run Code Online (Sandbox Code Playgroud)

我开始写:

    myParam = myParam || myObj.mParam || 10
Run Code Online (Sandbox Code Playgroud)

但意识到如果myObj不存在那么这将失败.我猜可以猜到:

    myParam = myParam || (myObj && myObj.mParam) || 10
Run Code Online (Sandbox Code Playgroud)

它甚至可能有效.但这是最好的方式吗?

例如John Resig会怎么做?

javascript

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

在Vim中交互式搜索/替换正则表达式?

我知道进行全局替换的正则表达式,

     %s/old/new/g
Run Code Online (Sandbox Code Playgroud)

你如何在Vim中进行交互式搜索替换?

regex vim

254
推荐指数
5
解决办法
7万
查看次数

我可以使用lambda语法忽略委托参数吗?

我很好奇为什么C#允许我在某些情况下忽略委托参数而不是其他情况.

例如,这是允许的:

Action<int> action = delegate { Console.WriteLine("delegate"); };
Run Code Online (Sandbox Code Playgroud)

但这不是:

Action<int> action = () => Console.WriteLine("lambda");
Run Code Online (Sandbox Code Playgroud)

有没有办法初始化委托并使用lambda忽略参数?我知道我可以在lambda中添加一个参数并修复前一行,但这更像是一个与编译器有关的学术问题,以及为什么或如何工作.

c# lambda delegates

26
推荐指数
3
解决办法
7400
查看次数

如何使用C++压缩文件目录?

我正在使用C++,Boost和Qt开发一个项目.我理解如何使用例如Qt中的qCompress()函数压缩单个文件和字节流.

如何压缩多个文件的目录,包括子目录?我正在寻找一个跨平台(Mac,Win,Linux)解决方案; 我宁愿不发动一堆新进程.

有没有一种标准方法可以将多个文件中的字节流组合成一个压缩存档,或者Boost iostream库中是否有可用的便捷功能或方法?

非常感谢您的帮助.

更新:QuaZip库看起来非常棒.下载包中的一个示例(在"tests"目录中)非常清楚地显示了如何压缩文件目录.

更新2:在我的Linux构建环境中完成此任务后,我发现QuaZip在Visual Studio编译器中根本不起作用.有可能解决所有这些编译器错误,但对任何看不起这条路径的人都要谨慎.

c++ compression qt boost zlib

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

Django - 你如何将InMemoryUploadedFile转换为ImageField的FieldFile?

我一直在尝试,help(django.db.models.ImageField)dir(django.db.models.ImageField)寻找如何ImageField从上传的图像创建一个对象.

request.FILES有图像InMemoryUploadedFile,但我正在尝试保存包含一个的模型ImageField,所以如何将其InMemoryUploadedFile转换为ImageField

你怎么去寻找这种类型的东西?我怀疑这两个类有一个继承关系,但是我必须做很多事情dir()才能知道我是否要看.

django upload image django-models

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

内存异常

我正在使用C#和asp.net开发一个Web应用程序我一直收到内存不足的异常.该应用程序所做的是从数据源读取一堆记录(产品),可能是数百/数千,通过向导中的设置处理这些记录,然后使用流程产品信息更新不同的数据源.虽然有多个DB类,但现在所有逻辑都在一个大类中.唯一的原因是,所有信息都与一件产品有关.如果我将我的应用程序划分为不同的类,它会帮助记忆吗?我认为不会这样,因为如果我将业务逻辑划分为两个类,那么这两个类在整个发送消息时都会保持活跃状态​​,所以我不知道这会有什么帮助.我想我的另一个解决方案是找出什么' 吮吸所有的记忆.你能推荐一个好工具吗?

谢谢

c# asp.net memory-management

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

你如何使用第三方DLL单元测试.EXE?

我还在学习TDD的黑暗艺术,最近我一直在努力学习如何在VB6中进行TDD以及我基本上缩小列表的范围是免费的simplevbunit和最昂贵的vbunit3.

我的应用程序是一个富文本编辑器,有很多第三方dll,我在谷歌中搜索高低,以找到如何对这个exe文件进行单元测试.

所以我的问题是如何对exe文件进行单元测试?特别是在VB6的上下文中,如果你有任何关于vbunit3或simplyvbunit的好例子,你只是一个救星,因为我现在正在投入材料,我仍然不能写一个单元测试:(

编辑

实际上,应用程序包含许多表单,模块和类模块,当我编译它时,它当然变得很好整齐打包.EXE文件.而为了使事情变得更加复杂,有许多全球变量飞来飞去.

但我的主要目的是对所有或最易破解的部分代码进行单元测试.我想确保我可以保持测试和代码分开.所以我认为最好的方法是,通过添加引用等以某种方式直接测试exe.

有一个更好的方法吗?

vb6 tdd unit-testing simplyvbunit

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

F#如何将Console.ReadLine()抽象为字符串seq

我想编写一个函数来将Console.ReadLine()抽象为字符串seq

当line = null时,seq应该会中断

ConsoleLines(): unit -> string seq
Run Code Online (Sandbox Code Playgroud)

要像这样使用:

for line in ConsoleLines() do
    DoSomething line
Run Code Online (Sandbox Code Playgroud)

你怎么写这个功能?

谢谢

console f# sequences stream

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

你是什​​么意思Ruby on Rails不是线程安全的?

我刚刚阅读了ROR(还没有潜入它),我听说它不是线程安全的.显然,这并不意味着不止一个人不能同时访问您的网站,那究竟是什么意思呢?线程在ROR中发挥作用的地方?他们只是意味着处理请求吗?

ruby multithreading ruby-on-rails

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

什么是统计调试?

什么是统计调试?我还没有找到一个清晰,简洁的解释,但这个词当然听起来令人印象深刻.

它只是一个研究主题,还是在某个地方用于实际开发?换句话说:它会帮助我找到程序中的错误吗?

debugging statistics code-analysis

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