小编Jas*_*ker的帖子

我如何使用CREATE OR REPLACE?

我是否正确理解CREATE OR REPLACE基本上意味着"如果对象存在,丢弃它,然后以任何方式创建它?"

如果是这样,我做错了什么?这有效:

CREATE TABLE foo (id NUMBER,
title VARCHAR2(4000) DEFAULT 'Default Title')
Run Code Online (Sandbox Code Playgroud)

这不是(ORA-00922:缺失或无效选项):

CREATE OR REPLACE TABLE foo (id NUMBER,
title VARCHAR2(4000) DEFAULT 'Default Title')
Run Code Online (Sandbox Code Playgroud)

我做了些蠢事吗?我似乎无法找到有关此语法的大量文档.

oracle ddl oracle10g

93
推荐指数
6
解决办法
26万
查看次数

在C++中将bool转换为文本

也许这是一个愚蠢的问题,但有没有办法将布尔值转换为字符串,使得1转为"true",0转为"false"?我可以使用if语句,但很高兴知道是否有办法用语言或标准库来实现.另外,我是一个学生.:)

c++ string boolean

86
推荐指数
6
解决办法
14万
查看次数

什么是优秀的Linux/Unix书籍为一个先进的用户?

对于一个相对较新但不是全新的*nix用户,是否有任何好书可以获得更深入的知识(所以没有"Linux for dummies")?在大多数情况下,我不是在寻找从头到尾阅读的东西.更确切地说,当我需要知道如何做某事或者每当我有一个"如何再次这样做?"时,我宁愿拥有一些我可以拿起并阅读的东西.时刻.我想看到的一些领域是:

  • 命令行管理
  • bash脚本
  • 编程(虽然我想要的东西不仅仅与C程序员有关)

我希望它尽可能与平台无关(意味着它具有与任何Linux发行版以及BSD,Solaris,OS X等相关的信息),但我最常使用的unix系统是OS X和于Debian/Ubuntu.因此,如果我从拥有更多依赖于平台的书籍中受益最多,那么这些就是目标平台.

如果我能在一本书中得到所有这些,那很好,但我宁愿有更深入的材料而不是覆盖所有东西.因此,如果有任何书籍只涵盖其中一个区域,请发布.地狱,即使它与任何这些领域无关,也要发布它,你认为这是我所处位置的人应该知道的事情.

unix linux command-line

85
推荐指数
6
解决办法
4万
查看次数

什么是好的观点?

我只是想大致了解RDBMSes中使用的视图.也就是说,我知道一个观点是什么以及如何制作一个观点.我也知道我过去曾用过它们.

但我想确保我彻底了解视图的用处以及视图不应该有用的内容.进一步来说:

  1. 什么是有用的视图?
    • 在不使用视图的情况下,是否存在使用视图的诱惑?
    • 为什么要使用视图来代替表值函数,反之亦然?
    • 是否有任何情况下视图可能有用,乍一看并不明显?

(并且为了记录,其中一些问题是故意天真的.这部分是概念检查.)

sql views rdbms-agnostic

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

我如何使用修复程序,它是如何工作的?

我对文档感到有些困惑fix(虽然我认为我理解它现在应该做什么),所以我查看了源代码.这让我更加困惑:

fix :: (a -> a) -> a
fix f = let x = f x in x
Run Code Online (Sandbox Code Playgroud)

这究竟是如何返回固定点的?

我决定在命令行试一试:

Prelude Data.Function> fix id
...
Run Code Online (Sandbox Code Playgroud)

它挂在那里.现在公平地说,这是在我的旧Macbook上,这有点慢.但是,此功能也不能太过,因为任何东西传递给ID给出了同样的事情,回(更不用提,它的吃了没有CPU时间)计算昂贵.我究竟做错了什么?

haskell letrec fixpoint-combinators

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

抽象语法树和具体语法树有什么区别?

我一直在阅读有关解释器/编译器如何工作的一些内容,而我感到困惑的一个领域是AST和CST之间的区别.我的理解是解析器生成一个CST,将它交给语义分析器,将其转换为AST.但是,我的理解是语义分析器只是确保遵循规则.我真的不明白为什么它会实际做出任何改变,使其变得抽象而不是具体.

有没有关于语义分析器的东西,或者AST和CST之间的差异有点人为?

parsing terminology abstract-syntax-tree semantic-analysis concrete-syntax-tree

74
推荐指数
6
解决办法
3万
查看次数

我可以在不使用朋友的情况下从课外访问私人会员吗?

放弃

是的,我完全清楚我所询问的内容是完全愚蠢的,任何想要在生产代码中尝试这样的事情的人都应该被解雇和/或开枪.我主要是想看看是否可以做到.

现在已经不在了,有没有办法从类外部访问C++中的私有类成员?例如,有没有办法用指针偏移来做到这一点?

(天真和其他非生产准备技术欢迎)

更新

正如评论中所指出的,我问了这个问题,因为我想写一篇关于过度封装的博客文章(以及它如何影响TDD).我想看看是否有办法说"使用私有变量不是100%可靠的方法来强制封装,即使在C++中也是如此." 最后,我决定更多地关注如何解决问题,而不是为什么这是一个问题,所以我没有像我原先计划的那样突出显示这里提到的一些东西,但我还是留下了一个链接.

无论如何,如果有人对它的出现感兴趣,那么它就是: 测试驱动开发的敌人第一部分:封装(我建议在你决定我疯了之前阅读它).

c++ encapsulation private-members

64
推荐指数
8
解决办法
6万
查看次数

抛出ArgumentNullException

假设我有一个方法将某种对象作为参数.现在说如果这个方法传递一个null参数,那就是一个致命的错误,应该抛出一个异常.编写这样的代码对我来说是否值得(请记住这是一个简单的例子):

void someMethod(SomeClass x)
{
    if (x == null){
        throw new ArgumentNullException("someMethod received a null argument!");
    }

    x.doSomething();
}
Run Code Online (Sandbox Code Playgroud)

或者,当它调用x.doSomething()时,依赖它抛出NullException是否安全?

其次,假设someMethod是一个构造函数,在调用另一个方法之前不会使用x.我应该立即抛出异常还是等到需要x然后抛出异常?

.net c# exception-handling exception

59
推荐指数
9
解决办法
6万
查看次数

寄存器与堆栈

使用基于寄存器的虚拟机与使用基于堆栈的虚拟机有什么优缺点?

对我而言,基于寄存器的机器似乎更直接的编程和更高效.那么为什么JVM,CLR和Python VM都是基于堆栈的呢?

language-agnostic stack-based vm-implementation

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

__path__对什么有用?

我从来没有注意到__path__今天之前在我的某些软件包上定义的属性.根据文件:

包支持另一个特殊属性__path__.这被初始化为一个列表,其中包含在__init__.py执行该文件中的代码之前保存包的目录的名称.这个变量可以修改; 这样做会影响将来对包中包含的模块和子包的搜索.

虽然通常不需要此功能,但它可用于扩展程序包中的模块集.

有人可以向我解释这究竟是什么意思以及为什么我会想要使用它?

python module path

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