小编Sol*_*cko的帖子

简化if/else语句?

我正在尝试简化以下内容:

function handleDirection(src) {
  if (src === 'left') {
    if (inverse) {
      tracker--;
    } else {
      tracker++;
    }
  } else {
    if (inverse) {
      tracker++;
    } else {
      tracker--;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

减少条件数量.该src要么是'left''right'始终.

javascript conditional if-statement

31
推荐指数
5
解决办法
3015
查看次数

你如何干净地退出互动Lua?

我试过在一行上单词"quit",但这似乎只是将命令行指针从">"更改为">>".在交互式Lua中结束会话的最佳方法是什么?

scripting lua interactive exit

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

文字装饰:没有不工作

完全莫名其妙!我尝试过text-decoration: none几种不同的方式重写这一行.我还设法通过定位来重新调整文本大小,但text-decoration: none代码不会采用.

非常感谢.

.widget    
{
     height: 320px;
     width: 220px;
     background-color: #e6e6e6;
     position: relative;                              
     overflow: hidden;                          
}


.title    
{
     font-family: Georgia, Times New Roman, serif;
     font-size: 12px;
     color: #E6E6E6;
     text-align: center;
     letter-spacing: 1px;
     text-transform: uppercase;
     background-color: #4D4D4D;    
     position: absolute;
     top: 0;
     padding: 5px;
     width: 100%;
     margin-bottom: 1px;
     height: 28px;
     text-decoration: none;
}

a .title    
{
     text-decoration: none;
}
Run Code Online (Sandbox Code Playgroud)
<a href="#">
    <div class="widget">  
        <div class="title">Underlined. Why?</div>  
    </div>
</a>
Run Code Online (Sandbox Code Playgroud)

html css text-decorations

29
推荐指数
4
解决办法
9万
查看次数

为什么调用Python的"魔术方法"不像对应的运算符那样进行类型转换?

当我从一个整数(例如1-2.0)中减去一个浮点数时,Python会进行隐式类型转换(我认为).但是当我使用魔术方法调用我认为是相同的操作时__sub__,它突然不再存在了.

我在这里错过了什么?当我为自己的类重载运算符时,除了明确地将输入转换为我需要的任何类型之外,还有其他方法吗?

a=1
a.__sub__(2.)
# returns NotImplemented
a.__rsub__(2.)
# returns NotImplemented
# yet, of course:
a-2.
# returns -1.0
Run Code Online (Sandbox Code Playgroud)

python type-conversion magic-methods implicit-conversion

29
推荐指数
2
解决办法
1677
查看次数

为什么我不应该混合标签和空格?

我经常读到我不应该在Haskell中混合制表符和空格,或者我根本不应该使用制表符.为什么?

syntax whitespace haskell indentation

27
推荐指数
1
解决办法
3401
查看次数

如何使用forEach列出部分和的清单

我有一个看起来像这样的数组数组:

changes = [ [1, 1, 1, -1], [1, -1, -1], [1, 1] ];
Run Code Online (Sandbox Code Playgroud)

我想通过添加最后一个值来获取数组中的下一个值

values = [ [1, 2, 3, 2], [1, 0, -1], [1, 2] ];
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经尝试使用forEach:

changes.forEach(change => {
    let i = changes.indexOf(change);
    let newValue = change[i] + change[i + 1]
});
Run Code Online (Sandbox Code Playgroud)

我认为我做对了,但我无法采用这种方法进行工作,或者也许有更好的方法可以做到这一点。

javascript arrays foreach ecmascript-6

24
推荐指数
3
解决办法
1524
查看次数

我应该预先初始化在多个分支中被覆盖的变量吗?

有一种方法:

private String myMethod(String gender)
{
    String newString = "";
    if(gender.equals("a"))
        newString = internal.getValue();
    else
        newString = external.getValue();

    return newString;
}
Run Code Online (Sandbox Code Playgroud)

我重构了所有内容,但有一个小的更改: String newString;而不是:String newString = "";

这样重构可以改善代码吗?我知道那Stringnull当我们不初始化它的时候,但是在这个例子中,它总是有a if或from的值else。这个重构会改变什么吗?

java string

19
推荐指数
3
解决办法
407
查看次数

python显示\ n而不是换行

我编写了一个函数来创建VALUESSQL查询的一部分:

def query_values(data_iterator):
    return ',\n'.join('\n({})\n'.format(',\n'.join('"{}"'.format(value) for value in data_row)
                                     ) for data_row in data_iterator
                      ),
Run Code Online (Sandbox Code Playgroud)

当我调用此函数和print结果时,得到的是:

query_values:
('\n("801",\n"printer",\n"barcode printer")\n,\n\n("844",\n"laptop",\n"windows")\n,\n\n("997",\n"printer",\n"barcode printer")\n',)
Run Code Online (Sandbox Code Playgroud)

合而为一。而不是换行,\n而是显示。

本来我有一个\n,但是后来我插入了多个,只是看它们是否会显示出来。

第二个问题是整个内容中都有括号,这是我不想要的。

我对这两个问题感到困惑,我想出了第二个问题的解决方案:

函数结尾处有一个逗号。逗号导致函数返回一个元组,而不是单个字符串。

我删除了逗号:

def query_values(data_iterator):
    return ',\n'.join('\n({})\n'.format(',\n'.join('"{}"'.format(value) for value in data_row)
                                     ) for data_row in data_iterator
                      )
Run Code Online (Sandbox Code Playgroud)

并且解决了两个问题。现在的输出是:

query_values:

("801",
"printer",
"barcode printer")
,

("844",
"laptop",
"windows")
,

("997",
"printer",
"barcode printer")
Run Code Online (Sandbox Code Playgroud)

我把逗号放回去,并且\n显示了。我删除了逗号,并且再次有多行。

我删除了无关的东西\n,所以现在我得到了想要的:

query_values:

("801","printer","barcode printer"),
("844","laptop","windows"),
("997","printer","barcode printer")
Run Code Online (Sandbox Code Playgroud)

因此,我的代码可以正常工作,但是我\n对旧版本代码中显示的字符完全感到困惑。为什么会这样呢? …

python string tuples newline repr

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

获取最小值的密钥

我有一个像这样的数组: arr = {lst1: 300, lst2: 381, lst3: 4, lst4: 4, lst5: 49, …}

我正在尝试使用Javascript获得最低的键值。

我尝试过的

alert(Math.min.apply(Math, arr));返回Infinity我不知道为什么

我在Google上下载了此文件,仅供尝试:

var keys = Object.keys(arr).map(Number).filter(function(a){
    return arr[a];
}); alert(Math.min.apply(Math, keys));
Run Code Online (Sandbox Code Playgroud)

回报Infinity

我想要更完整的东西,例如以下输出:“最低值为lst9中的2”。

在问这里之前,我真的尝试过自己修复它,但是没有成功!您能帮我解决此“ Infinity”问题吗?谢谢。

javascript arrays object

18
推荐指数
4
解决办法
1791
查看次数

有没有办法制作一个引用外部提供的缓冲区但不拥有它的 std::string ?

基本上,如果一个人有一个用于空终止字符串的预加载缓冲区和要引用的长度,并且想要将对它的引用传递到一个采用 std::string & 但不复制该字符串或拥有它的方法中,是吗?可能这样做吗?

这只具有有限的寿命,并且以仅在缓冲区有效时才有效的方式进行管理。

c++ string reference zero-copy

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