标签: language-features

HTML的隐藏功能

HTML是使用最广泛的语言(至少作为标记语言)尚未获得应有的信誉.
考虑到它已经存在了这么多年,诸如FORM/INPUT控件之类的东西仍然保持不变,没有添加新的控件.

至少从现有功能来看,您是否知道任何不为人所熟知但非常有用的功能.

当然,这个问题是这样的:

JavaScript的
隐藏功能隐藏的CSS
功能隐藏C#的
功能隐藏的VB.NET
功能隐藏的Java
隐藏功能隐藏的功能经典ASP
隐藏的ASP.NET
功能隐藏的Python
功能隐藏的TextPad
功能隐藏的Eclipse功能

不要提及HTML 5.0的功能,因为它在工作草案中

请为每个答案指定一个功能.

html xhtml language-features hidden-features

110
推荐指数
32
解决办法
4万
查看次数

我什么时候需要在SQL Server中使用Begin/End Blocks和Go关键字?

有人能告诉我在SQL Server中何时何地需要使用beginend阻止?
此外,该Go关键字到底是做什么的?

t-sql sql-server language-features

99
推荐指数
5
解决办法
11万
查看次数

Firebug有哪些独特的功能不是内置于Firefox?

我刚刚清理了我的Firefox插件,并想知道:

  • Firebug具有哪些功能使其独一无二?

  • Firebug和Firefox开发人员工具中有哪些功能?

firefox firebug language-features firefox-developer-tools

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

Scala代码看起来更简单/更少行的Scala和Java代码示例?

我需要Scala和Java代码的一些代码示例(我也非常好奇),它们表明Scala代码比Java编写的代码更简单和简洁(当然两个示例都应该解决同样的问题).

如果只有Scala示例带有注释,例如"这是Scala中的抽象工厂,在Java中看起来会更麻烦",那么这也是可以接受的.

谢谢!

我最喜欢接受和这个答案

java comparison language-features scala

92
推荐指数
13
解决办法
4万
查看次数

蟒蛇?(条件/三元)运算符用于分配

C和许多其他语言都有条件(也称为三元)运算符.这允许您根据条件的真实性在两个值之间做出非常简洁的选择,这使得表达式(包括赋值)非常简洁.

我想念这个,因为我发现我的代码有很多条件赋值,在Python中占用四行:

if condition:
    var = something
else:
    var = something_else
Run Code Online (Sandbox Code Playgroud)

而在C中它是:

var = condition? something: something_else;
Run Code Online (Sandbox Code Playgroud)

文件中的一次或两次没问题,但是如果你有很多条件分配,那么线条的数量就会爆炸,最糟糕的是,眼睛会吸引它们.

我喜欢条件运算符的简洁性,因为它在我浏览代码时会让我认为没有战略意义的东西分散注意力.

那么,在Python中,有没有什么技巧可以用来将赋值放到一行上来近似条件运算符的优点,正如我所概述的那样?

c python language-features

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

python内部类的目的是什么?

Python的内部/嵌套类使我感到困惑.有没有它们无法实现的东西?如果是这样,那是什么东西?

python oop language-features class

86
推荐指数
7
解决办法
5万
查看次数

逻辑运算符的书面版本

是我见过的唯一一个地方and,or并被not列为C++中的实际运算符.当我在NetBeans中编写一个测试程序时,我得到了红色下划线,好像有一个语法错误,并认为该网站是错误的,但它是错误的NetBeans,因为它编译并按预期运行.

我可以看到!受到青睐,notand&& 的可读性or似乎比他们的语法兄弟更大.为什么这些版本的逻辑运算符存在,为什么看似没有人使用它?这是真正有效的C++还是与语言中包含的C的某种兼容性?

c++ language-features logical-operators

86
推荐指数
4
解决办法
1万
查看次数

最好的javascript语法糖

这里有一些宝石:

文字:

var obj = {}; // Object literal, equivalent to var obj = new Object();
var arr = []; // Array literal, equivalent to var arr = new Array();
var regex = /something/; // Regular expression literal, equivalent to var regex = new RegExp('something');
Run Code Online (Sandbox Code Playgroud)

默认值:

arg = arg || 'default'; // if arg evaluates to false, use 'default', which is the same as:
arg = !!arg ? arg : 'default';
Run Code Online (Sandbox Code Playgroud)

当然我们知道匿名函数,但能够将它们视为文字并在现场执行它们(作为闭包)很棒:

(function() { ... })(); // Creates an anonymous …
Run Code Online (Sandbox Code Playgroud)

javascript language-features syntactic-sugar

81
推荐指数
13
解决办法
1万
查看次数

当它看起来如此相似时,为什么本征类不等同于self.class?

我错过了某个地方的备忘录,我希望你能解释一下这个.

为什么对象的本征类不同self.class

class Foo
  def initialize(symbol)
    eigenclass = class << self
      self
    end
    eigenclass.class_eval do
      attr_accessor symbol
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我的逻辑系列等同于特征类,class.self非常简单:

class << self是一种声明类方法的方法,而不是实例方法.这是捷径def Foo.bar.

因此在对类对象的引用中,返回self应该相同self.class.这是因为,class << self将设置selfFoo.class用于类方法的定义/属性.

我只是困惑吗?或者,这是Ruby元编程的偷偷摸摸的伎俩吗?

ruby language-features eigenclass

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

为什么C#没有实现索引属性?

我知道,我知道...... Eric Lippert对这类问题的回答通常是" 因为它不值得设计,实施,测试和记录它的成本 ".

但是,我还是想要一个更好的解释......我正在阅读关于新C#4功能的博客文章,在关于COM Interop的部分中,以下部分引起了我的注意:

顺便说一句,这段代码使用了另外一个新功能:索引属性(仔细查看Range之后的那些方括号.)但是此功能仅适用于COM互操作; 您无法在C#4.0中创建自己的索引属性.

好的,但为什么呢?我已经知道并且后悔在C#中创建索引属性是不可能的,但这句话让我再次思考它.我可以看到几个很好的理由来实现它:

  • CLR支持它(例如,PropertyInfo.GetValue有一个index参数),所以遗憾的是我们无法在C#中利用它
  • 它支持COM互操作,如文章所示(使用动态调度)
  • 它是在VB.NET中实现的
  • 已经可以创建索引器,即将索引应用于对象本身,因此将想法扩展到属性,保持相同的语法并仅替换this属性名称可能没什么大不了的.

它可以写出那种东西:

public class Foo
{
    private string[] _values = new string[3];
    public string Values[int index]
    {
        get { return _values[index]; }
        set { _values[index] = value; }
    }
}
Run Code Online (Sandbox Code Playgroud)

目前我知道的唯一解决方法是创建一个ValuesCollection实现索引器的内部类(例如),并更改Values属性以便它返回该内部类的实例.

这很容易做到,但很烦人......所以也许编译器可以为我们做!一个选项是生成一个实现索引器的内部类,并通过公共通用接口公开它:

// interface defined in the namespace System
public interface IIndexer<TIndex, TValue>
{
    TValue this[TIndex index]  { get; set; }
}

public …
Run Code Online (Sandbox Code Playgroud)

c# language-features indexed-properties

80
推荐指数
5
解决办法
3万
查看次数