小编Aiv*_*var的帖子

为什么Scala改变了关系运算符和相等运算符的相对优先级(与Java相比)?

在Java中,<具有比==更高的优先级.在Scala中,反之亦然.我想知道Scala人为什么选择这种方式?其他二元运算符优先级与Java对齐(exept按位运算,但可以理解为什么它们没有给出特殊的优先级).

更新:这实际上是语言规范中的一个错误,'<'实际上比Scala中的'=='更高优先级.

scala

7
推荐指数
1
解决办法
822
查看次数

为什么C++ 11和PHP闭包需要声明封闭变量?

C++和PHP中的函数文字要求程序员从当前词法上下文中指定它们使用的变量.这个要求背后的原因是什么?

我想这不适用于编译器/解释器,因为可以从函数文字的主体中静态地推断出这些信息.它只是为了引起读者的注意吗?

php c++ closures c++11

7
推荐指数
1
解决办法
224
查看次数

如何逐步完成Python表达式评估过程?

我想构建一个可视化调试器,它可以帮助编程学生了解表达式评估是如何进行的(子表达式如何通过它们的值进行评估和"替换",例如Excel中的表达式评估可视化器).

看起来你不能用Python的pdb来完成这个过程,因为它最好的步骤粒度就是代码行.是否有可能逐步通过Python字节码?任何其他想法如何实现这一目标?

编辑:我需要一个可以在CPython标准库之上构建的轻量级解决方案.

python debugging pdb

7
推荐指数
1
解决办法
905
查看次数

通过Oracle的JDBC驱动程序解析SQL

我想测试给定的SQL语句在语法和语义上是否有效(即没有语法错误,没有字段拼写错误).

对于大多数数据库而言Connection.prepareStatement,它PreparedStatement.getMetaData会做到这一点(无异常==良好的查询).不幸的是,Oracle最新的驱动程序只解析这样的SELECT查询,而不是其他类型的查询.年长的司机甚至不这样做.

Oracle是否提供了一些其他工具来解析SQL语句?

oracle jdbc oracle10g

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

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

关于Clojure州相关问题的书籍/教程

我对Clojure的状态管理部分很感兴趣,但是大多数书籍和教程似乎都集中在它的LISP-ness上.

你能推荐一本教程或书籍,提供关于refs,vars和朋友的例子和分析.我知道在clojure.org上有一些关于这些的页面,但它们有点过于简洁.

clojure

6
推荐指数
2
解决办法
193
查看次数

将Go方法定义为远离结构定义有什么好处?

Go允许一个方法与它们所使用的struct/datatype分开定义方法.这是否意味着只是灵活地放置方法定义或更多内容?

我听说Go的结构/方法系统与猴子修补相比较,但如果我理解正确,那么你真的不能将方法添加到任何现有的类型(struct),因为方法必须与类型位于同一个包中.IE浏览器.你可以只修补你控制下的类型.或者我错过了什么?

在哪种情况下,您会在单独的源文件(或同一源文件的不同部分)中定义类型及其方法?

struct go

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

如何在跟踪Python函数时获取调用表达式?

在内部跟踪功能,调试函数调用时,是否可以以某种方式检索调用表达式?

我可以从traceback对象中调用行号,但如果该行上有多个函数调用(可能是相同的函数)(例如,作为更大表达式中的子表达式),那么我怎样才能知道这个调用的来源?即使从源线的起点偏移,我也会很高兴.

traceback.tb_lasti 似乎给出了更多的粒度上下文(尝试了最后一个字节码的索引) - 是否有可能将字节码连接到其确切的源范围?

编辑:只是为了澄清 - 我需要从调用源代码行中提取特定的(子)表达式(调用点).

python debugging trace

6
推荐指数
2
解决办法
556
查看次数

为什么Haskell在部分函数中使用bottom而不是null?

我正在阅读关于Haskell指称语义(http://en.wikibooks.org/wiki/Haskell/Denotational_semantics)的内容,我不明白为什么在类型中,底部"值"被置于另一个级别而不是"正常"值,例如为什么它不能模式匹配.

我认为模式修补底部会导致麻烦,因为底部也表示非终止计算,但为什么非终止计算和错误应该被视为相同?(我假设使用不支持的参数调用部分函数可以被视为错误).

如果所有Haskell类型都包含模式匹配的Java-null类值而不是bottom,那么将丢失哪些有用的属性?

换句话说:为什么通过提升所有具有null值的类型来使所有Haskell函数完全不是明智的呢?

(非终止计算是否需要特殊类型?)

haskell types

6
推荐指数
2
解决办法
658
查看次数

为什么我不能在Java中编写"implements AClass"?

在Java中,人们经常将类与类一起定义并尽可能使用接口名而不是类名,以便稍后允许新的实现.这里逻辑接口是重复的.

如果Java允许使用类作为接口,则不需要这种"以防万一"复制,例如:class MyScanner extends MyStuff implements java.util.Scanner.此外,这将缓解我需要提供类类型但我不想扩展该类的情况.

据我所知,"实现一个类"不仅会被编译器拒绝,也会被JVM拒绝(如果我将这个声明破解成类文件).对此有一些技术上的困难,还是不重要?它看起来不像是一个向后兼容问题(我的意思是,如果JVM支持这个问题,旧代码就可以正常运行).

编辑:为了澄清,我将在这里复制StriplingWarrior更好的相同问题的措辞:

为什么一个类不能实现另一个类的方法契约而不实际扩展该类?这是技术问题吗?是否会以某种方式向我们提出OP无法预见的一些问题?

java compiler-construction jvm

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

标签 统计

debugging ×2

jdbc ×2

python ×2

c++ ×1

c++11 ×1

clojure ×1

closures ×1

compiler-construction ×1

go ×1

haskell ×1

java ×1

jvm ×1

mysql ×1

oracle ×1

oracle10g ×1

pdb ×1

php ×1

scala ×1

struct ×1

trace ×1

types ×1