标签: shorthand

在PHP中,有一种简短的方法可以将变量与多个值进行比较吗?

基本上我想知道是否有办法缩短这样的东西:

if ($variable == "one" || $variable == "two" || $variable == "three")
Run Code Online (Sandbox Code Playgroud)

以这种方式,可以对变量进行测试,或者与多个值进行比较,而不必每次都重复变量和运算符.

例如,某些内容可能会有所帮助:

if ($variable == "one" or "two" or "three")
Run Code Online (Sandbox Code Playgroud)

或任何导致打字减少的事情.

php variables comparison shorthand

20
推荐指数
1
解决办法
9349
查看次数

简写条件是根据PHP中另一个变量的存在来定义变量

基本上,我希望能够将变量定义为一件事,除非该事物不存在.我发誓,在某个地方,我看到了一个看起来像这样的速记条件:

$var=$_GET["var"] || "default";
Run Code Online (Sandbox Code Playgroud)

但我找不到任何文件来做到这一点,老实说它可能是JS或ASP或我看到的东西.

我知道在上面的代码中应该发生的只是检查两个语句是否返回true.但我认为如果第一次失败,我看到有人做了一些基本上定义了默认值的东西.这是任何人都知道的事情,可以帮助我吗?我疯了吗?说起来似乎多余:

$var=($_GET["var"]) ? $_GET["var"] : "default";
Run Code Online (Sandbox Code Playgroud)

或特别多余的说:

if ($_GET["var"]) { $var=$_GET["var"]; } else { $var="default"; }
Run Code Online (Sandbox Code Playgroud)

思考?

php variables conditional shorthand

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

减少Swift中的括号数量

有没有人知道是否有办法在swift中使用某种速记?更具体地说,在诸如IF语句之类的东西中省略括号......例如

if num == 0
  // Do something
Run Code Online (Sandbox Code Playgroud)

代替

if num == 0
{
  // Do something
}
Run Code Online (Sandbox Code Playgroud)

当你有几个嵌套的IF时,那些括号变得相当耗费空间.

PS.我知道我可以做到以下几点:

if num == 0 {
  // Do something }
Run Code Online (Sandbox Code Playgroud)

但是,如果可能的话,我仍然很好奇

shorthand swift

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

如果没有"function"关键字,此对象方法定义如何工作?

我意外地忽略了function关键字而发现了这一点.通常foobar下面模块中的方法将被声明为foobar: function(arg1),但有趣的是以下工作,至少在某些浏览器中,例如Chrome版本44.0.2403.157 m,但它在IE 11.0.9600.17959中失败

在任何浏览器中都可以运行它怎么可能?这是某种新的ES6功能吗?

var module = {
    foobar(arg1) {
        alert(arg1);
    }
};

module.foobar("Hello World");
Run Code Online (Sandbox Code Playgroud)

javascript methods function shorthand ecmascript-6

18
推荐指数
2
解决办法
3843
查看次数

尝试/捕获oneliner?

正如您可以转换以下内容:

var t;
if(foo == "bar") {
    t = "a";
} else {
    t = "b";
}
Run Code Online (Sandbox Code Playgroud)

成:

t = foo == "bar" ? "a" : "b";
Run Code Online (Sandbox Code Playgroud)

,我想知道是否有一种速记/在线方式来转换这个:

var t;
try {
    t = someFunc();
} catch(e) {
    t = somethingElse;
}
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以用速记的方式做到这一点,最好是一个oneliner?当然,我可以删除换行符,但我的意思是喜欢的? :东西if.

谢谢.

javascript try-catch shorthand

17
推荐指数
4
解决办法
9209
查看次数

速记访问器和变异器

我正在学习C#,并且正在学习如何将字段设为私有类,并使用Getters和Setters来公开方法而不是字段值.

get; set;方法1方法2相同呢?例如,一个是另一个的速记吗?

class Student
{
    // Instance fields
    private string name;
    private int mark;

    // Method 1
    public string Name { get; set; }

    // Method 2
    public int Mark
    {
        get { return mark; }
        set { mark = value; }
    }
}
Run Code Online (Sandbox Code Playgroud)

最后,如果您想在获取或设置值之前执行计算,是否可以使用方法2?例如,将值转换为百分比或执行验证?例如

class Student
{
    // Instance fields
    private string name;
    private double mark;
    private int maxMark = 50;

    // Method 1
    public string Name { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# encapsulation get set shorthand

16
推荐指数
2
解决办法
3万
查看次数

将项添加到Ruby中的数组,即使该变量不存在

我有以下内容:

foo ||= []
foo << "bar"
Run Code Online (Sandbox Code Playgroud)

而且我相信这可以在一行中完成,我无法找到.

重要的是,foo可能存在,也可能不存在.如果存在则它始终是一个Array,如果它不存在,它必须成为一个数组并获得一个附加到它的变量.

ruby arrays shorthand

15
推荐指数
2
解决办法
7824
查看次数

c# if not null then assignment value的简写

现在 C# 中是否有任何速记可以减少以下代码:

var testVar1 = checkObject();
if (testVar1 != null)
{
      testVar2 = testVar1;
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如果从 CheckObject() 结果中 testVar1 不为空,则只想分配 testVar2(testVar2 有一个将触发代码的设置器)。试图思考如何使用空合并的东西,但没有真正解决。

添加到此 testVar2 的 setter 上有要触发的代码,因此如果值为 null,则不要将 testVar2 设置为任何内容。

    public MyObj testVar2
    {
        get { return _testVar2; }
        set
        {
            _testVar2 = value;
            RunSomeCode();                
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# null-coalescing-operator null-coalescing shorthand

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

C#getter和setter简写

如果我对这条线的内部运作的理解是正确的:

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

然后在幕后做这个:

private int _MyInt { get; set; }
Public int MyInt {
    get{return _MyInt;}
    set{_MyInt = value;}
}
Run Code Online (Sandbox Code Playgroud)

我真正需要的是:

private bool IsDirty { get; set; }

private int _MyInt { get; set; }
Public int MyInt {
    get{return _MyInt;}
    set{_MyInt = value; IsDirty = true;}
}
Run Code Online (Sandbox Code Playgroud)

但我想写一些类似于:

private bool IsDirty { get; set; }

public int MyInt { get; set{this = value; IsDirty = true;} }
Run Code Online (Sandbox Code Playgroud)

哪个不起作用.事情是我需要做的一些对象,IsDirty上有几十个属性,我希望有一种方法可以使用auto getter/setter,但是当字段被修改时仍然设置IsDirty.

这是可能的,还是我只需要让自己在我班级中增加三倍的代码?

c# shorthand getter-setter

14
推荐指数
2
解决办法
3万
查看次数

Ruby哈希相当于JavaScript的对象初始化程序ES6的简写

在JavaScript ES6中,我们可以创建对象,其中变量名称变为如下所示的键:

> let a = 'aaa'
'aaa'

> let b = 'bbb'
'bbb'

> { a, b }
{ a:"aaa", b:"bbb" }
Run Code Online (Sandbox Code Playgroud)

Ruby有与哈希相同的东西吗?

澄清:显然这个问题涉及速记符号.我找{a,b}{a:a,b:b}.

javascript ruby hash shorthand ecmascript-6

11
推荐指数
2
解决办法
1034
查看次数