注意:这不是一个关于如何在C#中实现或模拟鸭子打字的问题。 几年来,我的印象是某些C#语言特性在语言本身定义的数据结构上是压缩的(对我来说,这总是看起来像一个奇怪的鸡鸡蛋)。 例如,我的印象是, foreach循环只能用于实现IEnumerabletypes。 从那时起我就开始理解C#编译器使用鸭子打字来确定一个对象是否可以在foreach循环中使用,寻找一个GetEnumerator方法而不是IEnumerable 。 这消除了鸡蛋和鸡蛋的难题,这很有意义。 我有点困惑,为什么这不是似乎与using块和IDisposable的情况下。 编译器是否有任何特殊原因不能使用鸭子打字和查找Dispose方法? 这种不一致的原因是什么? 也许在IDisposable的背后还有其他的东西呢? 讨论为什么你有一个Dispose方法没有实现IDisposable的对象超出了这个问题的范围:)
我正在重构一个项目。 我有一个已知被打破的整个子文件夹。 是否有任何声明的方式来暂时从编译中排除该文件夹,而我到目前为止testing重构? 我意识到我可以删除该文件夹,但如果可能的话,我希望通过configuration来完成此操作。
我有一个包含大量目标的Xcode项目,我希望在Ad-hoc和Debugconfiguration下包含应用程序的设置包,但不包括在Releaseconfiguration下。 构build阶段似乎不允许使自己成为条件的configuration(他们显然可以有条件的目标,但倍增的项目中的目标数量将使其完全无法使用)。 这留下了写一个自定义的build立规则。 我的计划是将Settings.bundle从所有目标中排除,并创build一个构build规则,将其有条件地复制到产品包中,但很难find适用的示例。 我已经开始的构build规则将Process设置设置为“Source names with names matching:”和Settings.bundle作为名称。 使用设置是“自定义脚本:”。 我的自定义脚本如下(与我的bash脚本是在一个货物邪教级别的警告): if [${CONFIGURATION} = 'Debug'] then cp -r ${INPUT_FILE_PATH} ${DERIVED_FILES_DIR}/. fi 最后,我将${DERIVED_FILES_DIR}/Settings.bundle列为输出文件。 由于我在这里,显然它不工作。 我的第一个问题是,是否有某处我可以查看生成规则的输出作为执行,以确保1)它实际上正在执行,并且2)我没有一个愚蠢的语法错误的地方。 另外,什么是适当的位置(以环境variables的forms)复制输出到?
我有一个查询来检查mysql用户列表创build新用户。 IF (SELECT EXISTS(SELECT 1 FROM `mysql`.`user` WHERE `user` = '{{ title }}')) = 0 THEN CREATE USER '{{ title }}'@'localhost' IDENTIFIED BY '{{ password }}' END IF; 但是我得到这个错误: ERROR 1064 (42000) at line 3: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the […]
对于这个生态系统的新手来说,build立和pipe理build设中小型OCaml项目的正式的首选方法是不清楚的。 我理解了ocamlc的基础知识,它们反映了传统的UNIX C编译器,看起来很简单。 但是,在单个文件一次编译的水平之上,不清楚如何更好地pipe理编译的简单和干净。 这个问题并不是寻找潜在的工具,而是通过构build和build立标准的OCaml项目来看到一个或几个正确的(足够的)方法 – 经过社区的validation。 我的模型用例是一个纯粹的OCaml或OCaml以及一个C依赖项的一个适度但不重要的项目。 这样一个项目: 包含一些源文件 链接到一些标准库 链接到一个或多个第三方库 可以select包含一个C库和OCaml包装作为子项目(虽然这也可以单独pipe理,并作为第三方库包含,如(3)) 几个替代工具脱颖而出: 自定义Makefiles似乎是大多数开源OCaml软件包的通用标准,但看起来令人沮丧和复杂 – 甚至比适度的C / C ++项目更为复杂。 更糟糕的是,很多甚至看起来很简单的OCaml库在autoconf / automake层上面更复杂。 ocamlbuild似乎提供了一个现代的,简化的机制,用最less的configuration自动化构build,但是它并没有很好的logging给新手,也没有在OCaml生态系统的介绍性材料中用实例来表示,也没有被任何已发布的OCaml项目我浏览过灵感。 OASIS似乎是其他构build系统上的一个约定和库代码层,以支持构build一个包pipe理器和库,如Cabal。 (我也看到了OMake ,它似乎是一个自制的“ make++ ”,它也包括一套通用语言的标准规则,包括OCaml和ocaml- makenéeOCamlMakefile,为GNU make提供了一个标准规则模板。 ) 这些都是pipe理OCaml的首选,现代化的方式吗? 项目文件的结构如何? 如何包含和pipe理第三方库依赖项? 是在系统级别安装它们还是在本地pipe理项目的标准和直接方式? 我更喜欢一个模型,在这个模型中尽可能保持项目独立。
对于我的UIImageView,我select了Aspect Fit(InterfaceBuilder),但是如何改变垂直alignment呢?
我已经使用“构build和存档”命令将我的应用程序的三个版本提交到App Store。 但是…这些档案在哪里? 我刚刚了解到,我只是需要他们能够阅读crashlogs。 我的~/Library/Developer/Xcode/Archives文件夹是空的(实际上有一个xarchive文件,我现在刚刚生成,以testingcrashlog阅读)。 Spotlight没有find任何.xarchive。 编码下一个版本时,我从来没有被要求删除或清除除我的项目构build(产品 – 清洁)以外的其他任何东西。
我刚刚重新安装QtCreator,创build了新的项目( Qt应用程序 )编译后得到这个: /usr/bin/ld: **cannot find -lGL** collect2: error: ld returned 1 exit status make: *** [untitled1] Error 1 18:07:41: The process "/usr/bin/make" exited with code 2. Error while building/deploying project untitled1 (kit: Desktop Qt 5.1.0 GCC 32bit) When executing step 'Make' ( 项目是空的,我没有提交任何更改 ) Qt Creator 2.7.2 基于Qt 5.1.0(32位) Ubuntu 13.04 我如何解决这个问题?
我一直在研究Datomic ,看起来非常有趣。 但是,尽pipeDatomic在技术上的工作方式似乎有很好的信息 ,但我还没有看到如何考虑数据build模。 Datomic中的数据build模有哪些最佳实践? 这个问题有什么好的资源吗?
什么是Haskell的Stream Fusion,我该如何使用它?