标签: syntactic-sugar

我想在Java中学习更多的语法糖!

例如C#中属性的语法糖:

private int x;

public int X{
    get { return x; }
    set { x = value; }
}
Run Code Online (Sandbox Code Playgroud)

或者干脆

 public int X{ get; set; }
Run Code Online (Sandbox Code Playgroud)

我在java中错过了逐字符串... @"C:\ My Documents \"而不是"C:\\ My Documents \\"

你是否同意Java需要更多"糖"?任何人都知道下一个Java版本中会有糖吗?

java syntactic-sugar

7
推荐指数
4
解决办法
4097
查看次数

Ruby中的运算符和方法

大多数看起来像运算符的东西都是Ruby中的方法; 1 + 2是语法糖1.+(2).

尽管+并且*是程序可以重新定义的方法,但Ruby具有特殊的魔力来评估1 + 2 * 3,1.+(2.*(3))而不是1.+(2).*(3).

我想知道这个特殊魔法在Ruby中的位置 - 如果它与解释器连接起来很困难.

阿里.

ruby syntax interpreter syntactic-sugar

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

没有typedef的函数指针

是否可以在不使用typedef的情况下将prepreious声明的函数类型用作函数指针?

功能声明:

int myfunc(float);
Run Code Online (Sandbox Code Playgroud)

通过某种语法将函数声明用作函数指针

myfunc* ptrWithSameTypeAsMyFunc = 0;
Run Code Online (Sandbox Code Playgroud)

c c++ typedef function-pointers syntactic-sugar

7
推荐指数
2
解决办法
3948
查看次数

有没有办法将CSS选择器分组以保持清晰?

如果我有十几个CSS选择器,并希望:hover为所有这些选择器分配属性,我习惯这样做:

selector, selector2, someOtherSelector, someSelector div {
    //some properties
}
selector:hover, selector2:hover, someOtherSelector:hover, someSelector div:hover {
    //some properties
}
Run Code Online (Sandbox Code Playgroud)

打字:hover四次似乎是多余的.有没有办法将选择器分组

(selector, selector2, someOtherSelector, someSelector div):hover {
     //some properties
}
Run Code Online (Sandbox Code Playgroud)

代替?

css syntactic-sugar css-selectors

7
推荐指数
2
解决办法
1783
查看次数

在java中尝试捕获语法糖

我想知道在java(纯代码,而不是一些Eclipse的东西)中是否有一种方法可以将"语法糖"重复尝试捕获代码.也就是说,我必须包装一堆函数

public void foo(){
  try{
        // bla
  } catch (Exception e) {
            System.out.println("caught exception:");
            e.printStackTrace();
  }
}

public void bar(){
  try{
        // other bla
  } catch (Exception e) {
            System.out.println("caught exception:");
            e.printStackTrace();
  }
}
Run Code Online (Sandbox Code Playgroud)

等等.我想写

@excepted public void foo(){
// bla
}

@excepted public void bar(){
// other bla
}
Run Code Online (Sandbox Code Playgroud)

我认为这种类型的糖在python中是可能的.在Java中有可能吗?

java try-catch syntactic-sugar

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

Java的平等运算符是可交换的吗?

请考虑以下Java代码:

Integer foo = bar();
if(foo == 5) ...;
if(5 == foo) ...;
Run Code Online (Sandbox Code Playgroud)

这些是比较平等的-尤其是在的可能性foonull?他们是扩展到foo.getValue() == 55 == foo.getValue()/或更类似于foo.equals(new Integer(5))new Integer(5).equals(foo)/或其他东西?NPM中可能有一个或两个或两个都没有?

java autoboxing syntactic-sugar

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

Go - 动态构建struct/json

在Python中,可以创建一个字典并将其序列化为JSON对象,如下所示:

example = { "key1" : 123, "key2" : "value2" }
js = json.dumps(example)
Run Code Online (Sandbox Code Playgroud)

Go是静态类型的,所以我们必须先声明对象模式:

type Example struct {
    Key1 int
    Key2 string
}

example := &Example { Key1 : 123, Key2 : "value2" }
js, _ := json.Marshal(example)
Run Code Online (Sandbox Code Playgroud)

有时只需要在一个地方而不是其他地方需要具有特定模式(类型声明)的对象(struct).我不想产生许多无用的类型,我不想为此使用反射.

Go中是否有任何语法糖提供更优雅的方法来做到这一点?

python json syntactic-sugar go

7
推荐指数
2
解决办法
3401
查看次数

如何在C++中获取重载方法的返回类型?

我有一个结构:

struct A {
  ComplicatedType1 f();
  ComplicatedType2 f(int);
};
Run Code Online (Sandbox Code Playgroud)

我想获得f()使用编译时助手的返回类型.我正在努力std::result_of<>:

using Type = std::result_of<decltype(&A::f)()>::type;
Run Code Online (Sandbox Code Playgroud)

但是编译器给了我一个合理的错误:"无法解决对重载函数的引用".

所以我去了SO,并看到了这个被接受和赞成的答案,这建议做出一个static_cast<ComplicatedType1 (A::*)()>(&A::f)- 但我现在没有ComplicatedType1.我陷入了递归之中.


如何用最少的代码ComplicatedType1进入我的using表达式?

c++ overloading syntactic-sugar c++11

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

是否存在用于在Scala中的匿名函数内绑定值的语法糖?

而不是写作

((x: Double) => (((y: Double) => y*y))(x+x))(3)
Run Code Online (Sandbox Code Playgroud)

我想写点类似的东西

((x: Double) => let y=x+x in y*y)(3)
Run Code Online (Sandbox Code Playgroud)

在Scala中有类似的这种语法糖吗?

scala anonymous-function syntactic-sugar

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

python:最简洁的方法将父类中的每个方法包装在"with"中

我有一个父类,有一堆类方法:

class Parent():

    @classmethod
    def methodA(cls):
        pass

    @classmethod
    def methodB(cls):
        pass
Run Code Online (Sandbox Code Playgroud)

在我的子类中,我想将一个方法的子集包装在"with"中.它应该达到这个效果:

class Child(Parent):

    @classmethod
    def methodA(cls):
        with db.transaction:
            super(Child, cls).methodA()
Run Code Online (Sandbox Code Playgroud)

我有一堆遵循这种模式的方法,我宁愿不重复自己.有更清洁的方法吗?

python syntactic-sugar

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