小编hek*_*mgl的帖子

计算列表中的子列表

L=[2,4,5,6,2,1,6,6,3,2,4,5,3,4,5]
Run Code Online (Sandbox Code Playgroud)

我想知道任意子序列出现了多少次,s=[2,4,5]例如会返回 2 次。

我尝试过,L.count(s)但它不起作用,因为我认为它期望寻找类似的东西[random numbers ... [2,4,5] ... random numbers],而不是2,4,5没有括号的东西。

python list

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

我可以在 switch 中多次使用相同的 case 值吗

我可以写这样的switch语句吗?

   switch ($mood) {

    case hungry : 
    case sad : 
    echo 'Eat a chocolate';


    case sad : 
    echo 'Call Up your friend';

    }
Run Code Online (Sandbox Code Playgroud)

这是一个好的做法吗?

编辑:根据评论删除了break语句。

php switch-statement

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

PHP/Laravel - 无法启动抽象类的扩展

我很擅长在PHP中使用抽象类和接口.

我正在尝试启动一个抽象类的扩展,但它不起作用.这可能是我遇到的Laravel特定问题.

情况就是这样:

  • 我有一个界面
  • 我有一个实现接口的抽象类
  • 我有'常规'类扩展抽象类
  • 我尝试实现这个类

这是界面:

<?php namespace Collection\Services\Validation;

interface SomeInterface {


    public function with(array $input);

    public function passes();

    public function errors();

}
Run Code Online (Sandbox Code Playgroud)

这是抽象类:

<?php namespace Collection\Services\Validation;

use Illuminate\Validation\Factory;

abstract class SomeClass implements SomeInterface {


    protected $validator;
    protected $data = array();
    protected $errors = array();
    protected $rules = array();


    public function __construct(Factory $validator)
    {
        $this->validator = $validator;
    }

    public function with(array $data)
    {
        $this->data = $data;

        return $this;
    }

    public function passes()
    {
        $validator = $this->validator->make($this->data, $this->rules);

        if( …
Run Code Online (Sandbox Code Playgroud)

php oop abstract-class interface laravel-4

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

Shell脚本没有通过crontab运行,但手动运行正常

我有一个脚本,检查是否PPTP VPN正在运行,如果没有它重新连接PPTP VPN,当我手动运行该脚本让它执行罚款,当我设置一个cron作业,没有运行

* * * * * /bin/bash /var/scripts/vpn-check.sh
Run Code Online (Sandbox Code Playgroud)

脚本来了:

#!/bin/sh
/bin/ping -c3 192.168.17.27 > /tmp/pingreport
result=`grep "0 received" /tmp/pingreport`
truncresult="`echo "$result" | sed 's/^\(.................................\).*$$'`"
if [[ $truncresult == "3 packets transmitted, 0 received" ]]; then
/usr/sbin/pppd call home
fi
Run Code Online (Sandbox Code Playgroud)

bash shell

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

使用套接字时,pcntl_signal 函数未被命中且 CTRL+C 不起作用

我有一个简单的 PHP 脚本,我想从终端运行它,并且能够处理信号代码。该脚本创建 TCP 服务器并处理连接。不知道为什么,但我无法让信号处理工作:

<?php
declare(ticks = 1);

// Register shutdown command.
pcntl_signal(SIGINT, function ($sig) {
  echo 'Exiting with signal: ' . $sig;
  global $sock;
  global $client;
  socket_close($sock);
  socket_close($client);
  exit(1);
});

$address = '127.0.0.1';
$port = 1234;

$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($sock, $address, $port) or die('Could not bind to address.');
socket_listen($sock);

while (TRUE) {
  $client = socket_accept($sock);
  if ($client) {
    $input = socket_read($client, 1024000);
    socket_write($client, var_export($input, TRUE));
    socket_write($client, 'End of data transmission.');
    socket_close($client);
  }
  usleep(100);
}
Run Code Online (Sandbox Code Playgroud)

CTRL+C 不会终止应用程序或调用函数。 …

php pcntl

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

sed/awk: insert commas every nth character

Contents of the files are something like:

12345678123456781234567812345678
12345678123456781234567812345678
Run Code Online (Sandbox Code Playgroud)

I would like to convert these rows to:

12345678,12345678,12345678,12345678
12345678,12345678,12345678,12345678
Run Code Online (Sandbox Code Playgroud)

awk sed comma

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

在传递给apply()的自定义函数中访问先前计算的结果

我正在使用Python中的Pandas,我希望在将自定义函数应用于系列时访问先前计算的结果.

大概是这样的:

import pandas

# How can I obtain previous_result?
def foo(value, previous_result = None):

    # On the first iteration there is no previous result
    if previous_result is None:
        previous_result = value

    return value + previous_result

series = pandas.Series([1,2,3])
print(series.apply(foo))
Run Code Online (Sandbox Code Playgroud)

这也可以推广到"如何将n以前的结果传递给函数?".我知道,series.rolling()但即使滚动,我也无法获得以前的结果,只能输入系列的先前值.

python python-3.x pandas

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

为什么要在完成后添加等待?

我正在尝试创建一个ping清除程序,并且代码永远不会正确退出。但是,当我在完成后添加等待时,它会退出并且快得多。为什么?

for ip in {200..254} ; do
    ping -c 1 "192.168.16.${ip}" |grep "bytes from" |cut -d" " -f 4|cut -d":" -f1 &
done
wait
Run Code Online (Sandbox Code Playgroud)

bash job-control

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

我的非数字列在重新采样时被删除

我的 2 个非数字列标签和 FID 在重新采样时被删除,如何保留这些列?

T               CP      LC      DP     VB   WP      LABEL   FID
10/26/201711:00 251.05  40.9    3157.9  0   256.27  F30d    MN-0001-2017-1
10/26/201711:01 250.88  38.8    3159.3  0   257.32  F30d    MN-0001-2017-1
10/26/201711:02 250.85  38.2    3157.2  0   256.81  F30d    MN-0001-2017-1
10/26/201711:03 250.72  31.7    3159.7  0   255.74  F30d    MN-0001-2017-1
Run Code Online (Sandbox Code Playgroud)

使用groupby似乎只保留 1 列:

newseries1 = newseries.groupby('LABEL').resample('10min', level=1).mean()
newseries1.head(10)
Run Code Online (Sandbox Code Playgroud)

我想将 2 列 LABEL 和 FID 保留在我的数据框中

python pandas

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

capistrano - git ls-remote -h没有git url

我是使用Capistrano的新手.我正确设置了它,但是当我运行cap staging deploy时,我得到了 -

DEBUG [b678d5eb] Command: ( GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/myproj/git-ssh.sh /usr/bin/env git ls-remote -h  )
DEBUG [b678d5eb]    usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
DEBUG [b678d5eb] Finished in 0.325 seconds with exit status 129 (failed).
Run Code Online (Sandbox Code Playgroud)

我认为git clone url应该在-h后跟随,但我不确定.

我正在使用Capistrano 3.2.1.这是我的deploy.rb -

lock '3.2.1'
set :application, 'myproj'
set :repository, 'https://vrao@git.test.com/scm/~vrao/myproj.git'
set :scm_passphrase, 'blah'
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒.

git capistrano3

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