是否有任何内置功能可以让我深层复制NSMutableArray?
我环顾四周,有些人说[aMutableArray copyWithZone:nil]是深刻的副本.但我试过,它似乎是一个浅薄的副本.
现在我用for循环手动执行复制:
//deep copy a 9*9 mutable array to a passed-in reference array
-deepMuCopy : (NSMutableArray*) array
toNewArray : (NSMutableArray*) arrayNew {
[arrayNew removeAllObjects];//ensure it's clean
for (int y = 0; y<9; y++) {
[arrayNew addObject:[NSMutableArray new]];
for (int x = 0; x<9; x++) {
[[arrayNew objectAtIndex:y] addObject:[NSMutableArray new]];
NSMutableArray *aDomain = [[array objectAtIndex:y] objectAtIndex:x];
for (int i = 0; i<[aDomain count]; i++) {
//copy object by object
NSNumber* n = [NSNumber …Run Code Online (Sandbox Code Playgroud) 我最近刚刚从Textmate设置了我的Vim环境,后来沉迷于它的模态输入.
但是,在Vim中,语法高亮似乎并不那么美观.我用C++编写代码,因为函数调用和类名不能突出显示,所以代码更难以阅读.我玩了一些配色方案,但找不到任何对应"类名"或"功能名称"的字段.
在下图中,注意MacVim右侧的突出显示方式DroughtLayer::和*.size()突出显示方式.
Textmate(左)和Vim(右)之间的图片比较http://ivzhao.com/temp/vimHL.png
任何想法如何解决这个问题?它真的让我烦恼,因为我是一个视觉敏感的家伙.
c++ vim textmate syntax-highlighting vim-syntax-highlighting
嗨,我主要做C++,Objective-C编程.我发现Xcode加上一个自动完成/宏插件(完成字典)就足够了.
然而,所有人似乎都赞扬他们的纯文本编辑.我尝试了一下Textmate; 喜欢它的简单,但不喜欢它的文件/框架处理.
我在这里错过了什么吗?或者,Vim或Emacs是否具有与Xcode一样好的自动完成功能?
现在最近有关于Node.JS的炒作,这是一个使用Javascript回调的事件驱动框架.根据我的有限理解,它的主要优点似乎是你不必按顺序一步一步地等待(例如,你可以获取SQL结果,同时调用其他函数).
所以我的问题是:这与CL,Haskell,Clojure等功能语言有什么不同或更好?如果不是更好,那么为什么人们不只是做功能语言(而不是用Javascript重新发明轮子)?
请注意,我没有Node.JS和函数式编程方面的经验.所以一些基本的解释会有所帮助.
你知道在许多Mac/iPhone应用程序(例如你的Finder)中,当你拖动一个图标时,所有其他图标将被"击退"你的鼠标并为你正在拖动的图标留出空间.
我想知道这是否是一个内置的Cocoa函数(在布局约束等?).如果没有,是否有任何图书馆或文件如何实施?
我想开始做一些形式的Web开发,目的是构建最终可能成为初创产品的Web应用程序.很长一段时间以来,我一直对函数式编程非常好奇,而且在我心里的某个秘密地相信你在抽象级别上越高,你拥有的权力就越多(隐藏的假设:函数式编程比程序性抽象更抽象).
因此,鉴于我所拥有的小型Web开发经验,是否有任何功能性语言/框架可以开始学习Web开发?
另一种方法是坚持使用成熟的程序化Web框架(可能是Django),首先学习Web开发的绳索,然后考虑函数式编程.但是,如果我最终切换到函数式编程,那么所有的工作都会被"浪费".
我对C++,Objective-C/Cocoa,熟悉Python有很好的经验.
编辑:很多人建议F#.但我很乐意(对其他人没有冒犯),远离.NET平台和其他MS生态系统.
我知道我可以通过以下方式将 .csv 文件导入到 sqlite 数据库中的预先存在的表中:
.import filename.csv tablename
Run Code Online (Sandbox Code Playgroud)
但是,是否有这样的方法/库可以自动创建表(及其架构),这样我就不必手动定义:column1 = string, column2 = int ....etc。
或者,也许我们可以将所有内容导入为字符串。据我有限的理解,sqlite3 似乎将所有字段都视为字符串?
编辑:每列的名称在这里不是那么重要(假设我们可以从 CSV 文件的第一行获取该数据,或者它们可以是任意名称)关键是识别每列的值类型。