创建和初始化对象的两种方法之一是否更可取?
MyClass oClass = [[MyClass alloc] init];
oClass.length = 5;
oClass.text = @"Hello";
Run Code Online (Sandbox Code Playgroud)
或者使用包含大致相同代码的类方法,但如下所示:
MyClass oClass = [MyClass myClassWithLength:(int) 5 andText:(NSString *) @"Hello"];
Run Code Online (Sandbox Code Playgroud)
当我看到事情不止一种方式而且我不知道一个人比另一个人好,或者为什么时,我讨厌它!
我知道添加 "hbm2ddl.auto"=create Hibernate 将创建自动从 hbm / 注释读取映射的表。请告诉我这是否是一个值得遵循的好习惯,为什么?
我正在制作一个生成3D迷宫的程序,并且在创建算法时遇到了一些麻烦.为了便于互动,它将是一个矩形棱柱,有一个入口和一个出口.
问题是算法的实际编码:我认为最好的方法是调用一个类MazeBlock,它有六个布尔状态(向上,向下,向左,向右,向内,向外),表示迷宫的方向可以去下一个.使用MazeBlocks 的3D数组,我想填充迷宫,每次迭代填充检查块在左侧,右侧,上方,下方,前方和后方,以查看是否有任何开口到哪一侧附上.
我已经有一个可以制作边缘,将随机开放的槽放在迷宫内部.所有我遇到的麻烦都是实际内部,确保迷宫有一个入口,一个出口和一个解决方案来穿越它(我曾经在弹出书中解决了一个"困难"的3D迷宫,只需要在预定的几步之后方向.
正如我所说,我认为我对算法有基本的想法,但我不知道如何编码.有人可以为此提出一个Java算法来相对快速地完成任务吗?
解决方案不得使用外部库.
我有以下javascript:
var MyObject = (function() {
function Setup(args) {
this.prop1 = args.x;
this.prop2 = args.y
this.prop3 = this.prop1 + this.prop2;
this.Create = function() {
return 'a' + helperFunc();
}
function helperFunc() {
return this.prop3;
}
}
return {
init : function(args) {
var setup = new Setup(args);
setup.Create();
}
}
})();
$(function() {
MyObject.init(someArgs);
});
Run Code Online (Sandbox Code Playgroud)
我的对象构建方法是一种好的做法吗?
我undefined试图访问时进入helperFunc this.prop3.
我也尝试分配this.prop1 + this.prop2一个局部变量并使用函数来返回这个值,如下所示:
function Setup(args) {
var total;
this.prop1 = args.x;
this.prop2 = args.y
total = this.prop1 …Run Code Online (Sandbox Code Playgroud)我正在寻找在VBA中创建和返回新类对象的正确方法.
我熟悉以下用于返回新Type变量的模式(由value返回):
Public Type Foo
x as Integer
y as Integer
End Type
Public Function NewFoo() as Foo
NewFoo.x = 4
NewFoo.y = 2
End Function
Run Code Online (Sandbox Code Playgroud)
新的Class对象(通过引用返回)的等效语法是什么?
Public Function NewMyClass() As MyClass
''// ...?
End Function
Run Code Online (Sandbox Code Playgroud) 这是我在这里发表的第一篇文章,但我要感谢社区,因为我已经无数次地找到解决问题的方法来到这里并在一个已经回答的问题中找到解决方案.
话虽如此,我想谈谈这一点.我在Code Gear的Delphi 2007 IDE中工作.我还是刚开始在德尔福工作的新手,准确地说还不到3个月,所以请记住这一点,因为我可能会遗漏一些基本的东西.
首先,我想就问题提供一些背景知识.我正在编写一个调度实用程序,用于在特定时间执行任务.对于每个可用任务,有2个与该任务相关联的相关delphi帧.第一帧用于编辑特定于该任务的详细信息,第二帧用于在任务运行时显示运行时信息.
保留正在运行的任务列表,并在该实用程序的滚动框中,显示运行时信息的相应帧列表.在任务开始和结束时创建和销毁这些运行时帧.这让我想到了我的问题.
我使用虚拟类管理器来保存每个任务的可用显示和编辑框架列表,并根据需要动态创建它们.在运行期间,一切都运行正常,当应用程序实际关闭时,我看到了问题.
该程序在关闭时会抛出EAccessViolation异常.当我尝试使用IDE跟踪问题时,我的代码中实际上并不存在与问题相对应的行或操作.因此,它必须是在后台执行的一些清理功能的一部分.
我已经将它缩小到动态创建虚拟类帧的代码,因为当我将代码注释掉时它会很好地关闭.因此,这让我相信我没有执行与使用此类类创建相关的操作.
var
tmpCCI: TComponentClassInfExt;
tmpS: String;
tc: TComponent;
bf: TBaseactionedit;
...
begin
...
tc := tmpCCI.fComponentClass.Create(nil);
if tc is TBaseactionedit then
begin
bf := TBaseActionEdit(tc);
bf.name := tmpCCI.fComponentClass.classname+IntToStr(nameCount);
bf.Visible := False;
bf.parent := pnlActionEdit;
bf.Align := alClient;
bf.Visible := True;
end;
...
Run Code Online (Sandbox Code Playgroud)
这是我如何使用虚拟类管理器创建框架的摘录.当我们不再需要FreeAndNil时,我可以释放它们.我已尽最大努力确保在应用程序关闭之前我已正确释放任何实例,但显然我遗漏了一些东西.
那么有没有人有任何想法从这里调试这样的东西?
PS再一次我是新手,所以如果有什么我错过了,掩饰,或忘记添加,请告诉我.再次感谢您阅读我的帖子!
有没有办法将列的默认值设置为过期日期(从几个小时开始CURRENT_TIMESTAMP)?
我已经尝试过了:
ALTER TABLE `table`
ADD COLUMN `expire` TIMESTAMP NOT NULL DEFAULT TIMESTAMPADD(HOUR, 5, CURRENT_TIMESTAMP);
Run Code Online (Sandbox Code Playgroud)
但没有工作..
我正在尝试为手机创建一个Facebook应用程序,但我得到"应用程序创建失败请使用您的个人帐户创建此应用程序.要使用其他名称进行测试,请使用您的个人帐户创建应用程序,然后创建测试帐户." 有没有人有任何想法,因为这让我陷入停顿(我的Facebook帐户已经过验证)?
我正在尝试使用javascript创建一个文本文件.我尝试了以下代码,但这没有用.请给我一个解决方案.谢谢 .
var fso, file;
fso = new ActiveXObject("Scripting.FileSystemObject");
file = fso.CreateTextFile("c:\\Mytest\test.txt");
file.Close();
Run Code Online (Sandbox Code Playgroud) javascript google-chrome creation filesystemobject text-files
我正在尝试将名为appname.log的日志文件重命名为appname_DDMMYY.log形式,以用于存档,并重新创建一个空的appname.log以便进一步写入。在Windows 7中使用C ++和WinAPI或Qt调用(内部可能相同)执行此操作时,新创建的.log文件奇怪地继承了重命名文件的时间戳(上次修改,创建)。在Windows资源管理器中重命名文件并随后在同一目录中快速创建具有相同名称的文件时,也可以观察到此行为。但是必须快速完成。单击“新的文本文件”后,时间戳是正常的,但重命名后,时间戳将更改为重命名文件具有或仍然具有的时间戳。
这是某种错误吗?如何重新命名文件并在不久后重新创建文件,而不会弄乱时间戳?