Tag: 语法

在C#中,'T:class'是什么意思?

在C#中where T : class是什么意思? IE浏览器。 public IList<T> DoThis<T>() where T : class

是否可以在Java中使用==枚举?

可以在Java中使用==枚举,还是需要使用.equals() ? 在我的testing中, ==总是起作用,但我不确定是否能保证。 特别是,在枚举上没有.clone()方法,所以我不知道是否有可能得到一个枚举,其中.equals()会返回一个不同于==值。 例如,这是OK的: public int round(RoundingMode roundingMode) { if(roundingMode == RoundingMode.HALF_UP) { //do something } else if (roundingMode == RoundingMode.HALF_EVEN) { //do something } //etc } 或者我需要这样写: public int round(RoundingMode roundingMode) { if(roundingMode.equals(RoundingMode.HALF_UP)) { //do something } else if (roundingMode.equals(RoundingMode.HALF_EVEN)) { //do something } //etc }

Haskell中的“Just”语法是什么意思?

我已经在互联网上search这个关键字的实际解释。 我看过的每一个Haskell教程都会随机开始使用它,而不会解释它做了什么(而且我看了很多)。 下面是使用Just Real World Haskell的一段基本代码。 我明白代码的作用,但我不明白Just的目的或function是什么。 lend amount balance = let reserve = 100 newBalance = balance – amount in if balance < reserve then Nothing else Just newBalance 从我所观察到的,它与Maybeinput有关,但这几乎是我所学的东西。 非常感谢Just意思。

我可以得到&&在Powershell中工作吗?

在google上search&&是非常困难的,但是我发现的最好的是这篇文章 ,它说使用-and 。 不幸的是,它没有提供任何更多的信息,我也找不到我应该做什么-and (再次,一个非常难以search的东西) 我试图使用它的上下文是“执行cmd1,如果成功,执行cmd2”,基本上是这样的: csc /t:exe /out:a.exe SomeFile.cs && a.exe 这应该是一个简单的几个代表知道的人,谢谢! 编辑:如果你只是想在一行上运行多个命令而不关心第一个命令是否失败,你可以使用; 对于我的大部分目的来说,这很好 例如: kill -n myapp; ./myapp.exe kill -n myapp; ./myapp.exe 。

什么是字符文字中的转义数字的Java语义,例如'\ 15'?

请解释执行以下代码段时发生的情况: int a='\15'; System.out.println(a); 这打印出13; int a='\25'; System.out.println(a); 这打印出21; int a='\100'; System.out.println(a); 这打印出64。

返回myVar与返回(myVar)之间有区别吗?

我正在看一些C#代码的例子,并注意到一个例子包装在()的返回。 我一直都是这样做的: return myRV; 有没有不同的做法: return (myRV);

LR,SLR和LALRparsing器有什么区别?

LR,SLR和LALRparsing器的实际区别是什么? 我知道SLR和LALR是LRparsing器的types,但是就parsing表而言,实际的差异是什么? 以及如何显示语法是LR,SLR还是LALR? 对于LL语法,我们只需要显示parsing表中的任何单元格都不应包含多个生产规则。 任何类似LALR,SLR和LR的规则? 例如,我们如何显示语法 S –> Aa | bAc | dc | bda A –> d 是LALR(1)而不是SLR(1)? 编辑(ybungalobill) :我没有得到一个令人满意的答案是什么LALR和LR之间的差异。 所以LALR的表格尺寸较小,但它只能识别LR语法的一个子集。 请有人详细说明LALR和LR之间的区别吗? LALR(1)和LR(1)就足够答案。 他们两个使用1令牌前瞻,并都是表驱动! 他们有什么不同?

Razor语法在UI标记中提供了一个引人注目的优势吗?

我注意到Scott Guthrie开始在他的博客上提到Razor,但我不确定这是否适合我的风格。 对于那些习惯于“标准”的ASP.Net标记(内容占位符和内联代码)的人来说,这是一种相当陌生的风格,但是感觉就像很多其他的页面来pipe理,并且对我来说标记不太清晰。 其他民族对此有何感想? 是不是应该在脚手架新的MVC页面时认真考虑这个问题,还是仅仅试图解决一个不存在的问题?

是什么让Java比C更容易parsing?

我熟悉C和C ++的语法是上下文敏感的 ,特别是你需要在C中使用“词法分析器”。另一方面,我的印象是,你可以只用Java来parsing尽pipe这两种语言之间有相当的相似性,但它们还是有前瞻性的。 你需要改变一些关于C来使它更容易parsing的东西? 我问,因为所有我看过的关于C语境的例子在技术上是可以允许的,但是很奇怪。 例如, foo (a); 可以用参数a调用void函数foo 。 或者,它可以被声明a footypes的一个对象,但是你可以轻松地摆脱这些缺点。 部分原因是由于C语法的“直接声明者”生成规则实现了声明函数和variables的双重目的,所以出现了这种怪异现象。 另一方面, Java语法对于variables声明和函数声明分别具有生产规则。 如果你写 foo a; 那么你知道这是一个variables声明,而且foo可以毫不含糊地被parsing为一个types名称。 如果foo类没有在当前作用域的某个地方被定义,那么这可能不是有效的代码,但是这是语义分析的一个工作,可以在稍后的编译器中执行。 我已经看到它说C因为typedef很难parsing,但是你也可以在Java中声明你自己的types。 除了direct_declarator之外,哪些C语法规则是错误的?

需要一个简单的注射方法的解释

[1, 2, 3, 4].inject(0) { |result, element| result + element } # => 10 我正在看这个代码,但是我的大脑并没有注意到数字10如何成为结果。 有人会介意在这里解释发生了什么?