小编sha*_*ait的帖子

更新到最新版本后 yargs argv 不再工作

我有这个代码

const argv = yargs
    .option("applyChanges", {
        alias: "a",
        description: "Apply the changes",
        type: "boolean"
    })
    .help()
    .alias("help", "h").argv;

const options = {
    applyChanges: argv.applyChanges ? argv.applyChanges : false
};
Run Code Online (Sandbox Code Playgroud)

获取argv.applyChanges布尔值。但在最新更新 yargs 17 之后,我收到一条错误消息argv.applyChanges

属性“applyChanges”在类型“{[x:字符串]:未知;applyChanges: 布尔值 | 不明确的; _: (字符串 | 数字)[]; $0:字符串;} | Promise<{ [x: string]: 未知; applyChanges: 布尔值 | 不明确的; _: (字符串 | 数字)[]; $0:字符串;}>'。类型“Promise<{[x: string]:unknown;”上不存在属性“applyChanges” applyChanges: 布尔值 | 不明确的; _: (字符串 | 数字)[]; $0:字符串;}>'。

我尝试使用await但没有成功。我应该怎么办?此代码适用于之前的 yargs 版本 16.xx

yargs

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

在 Python 中将十六进制字符串拆分为块

我用Python编写了这部分代码:

for line in response.body.split("\n"):
    if line != "": 
        opg = int(line.split(" ")[2])
        opc = int(line.split(" ")[3])
        value = line.split(" ")[5]
        if command == 'IDENTIFY':
            if opg==opcodegroupr and opc==opcoder:
                print line
                ret['success'] = "IDENTIFY: The value is %s " % (value)
                self.write(tornado.escape.json_encode(ret))
                self.finish()
Run Code Online (Sandbox Code Playgroud)

变量“line”是这样创建的:

1363005087 2459546910990453036 151 88 4 0x15000000
Run Code Online (Sandbox Code Playgroud)

每个字段都是整数,但最后一个字段不是。最后一个字段是一个十六进制数字。

我会采用这个十六进制数并在每个字节分割字节之后。例如,我希望 0x15000000 被分成 15 00 00 00。

我能怎么做?我尝试使用 value.encode("hex") 但不能正常工作...值是一个字符串?我不知道如何考虑这个变量..

python string hex

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

合并Python中用空格分割的字符串

我有一部分代码像这样:

for line in response.body.split("\n"):
    if line != "": 
        opg = int(line.split(" ")[2])
        opc = int(line.split(" ")[3])
        status = int(line.split(" ")[5])
        if command == 'IDENTIFY':
            if opg==opcodegroupr and opc==opcoder:
                if status=="0":
            IEEEAddrRemoteDev = line.split(" ")[6:14]
        ret['success'] = "IDENTIFY: The value is %s " % (IEEEAddrRemoteDev)
        self.write(tornado.escape.json_encode(ret))
        self.finish()
Run Code Online (Sandbox Code Playgroud)

变量'line'就像这样:

1363011361 2459546910990453036 157 0 17 0 209 61 0 0 0 0 0 0 0 0 0 0 0 0 0 201
Run Code Online (Sandbox Code Playgroud)

例如,我将从6到14中取字段并"合并"彼此以打印IEEEAddrRemoteDev,就像整个字符串一样.

这是

IEEEAddrRemoteDev = line.split(" ")[6:14] 
Run Code Online (Sandbox Code Playgroud)

正确的方法?如果我写

print IEEEAddrRemoteDev
Run Code Online (Sandbox Code Playgroud)

我什么都没得到. …

python string merge split

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

使用参数的灵活搜索返回空值

我必须在服务Java类中执行这种灵活的搜索查询:

select sum({oe:totalPrice}) 
from {Order as or join CustomerOrderStatus as os on {or:CustomerOrderStatus}={os:pk} 
join OrderEntry as oe on {or.pk}={oe.order}} 
where {or:versionID} is null and {or:orderType} in (8796093066999) 
and {or:company} in (8796093710341) 
and {or:pointOfSale} in (8796097413125) 
and {oe:ecCode} in ('13','14') 
and {or:yearSeason} in (8796093066981) 
and {os:code} not in ('CANCELED', 'NOT_APPROVED')
Run Code Online (Sandbox Code Playgroud)

当我在hybris管理控制台中执行此查询时,我正确获取:

1164.00000000

在我的Java服务类中,我写了这个:

private BigDecimal findGroupedOrdersData(String total, String uncDisc, String orderPromo,
        Map<String, Object> queryParameters) {

    BigDecimal aggregatedValue = new BigDecimal(0);

    final StringBuilder queryBuilder = new StringBuilder();
    queryBuilder.append("select sum({oe:").append(total).append("})");
    queryBuilder.append(
            " from …
Run Code Online (Sandbox Code Playgroud)

java query-builder hybris

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

增加蚂蚁的记忆

我有一个关于内存使用的问题。我有8 GB的RAM,并且我的蚂蚁设置是这样的:

set ANT_OPTS=-Xmx512m -XX:MaxPermSize=2G
Run Code Online (Sandbox Code Playgroud)

现在,我已经安装了16 GB的RAM,但是当我运行所有ant清理程序时,这将花费相同的时间进行编译。

如何设置选项以增加内存和速度?我有Windows 7 64位和16 GB RAM。我使用Eclipse,但是我从cmd运行ant clean all和服务器Tomcat。

java eclipse memory ant ram

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

Python bitand(&)vs和

大家好我有这部分代码:

for line in response.body.split("\n"):
    if line != "": 
        opg = int(line.split(" ")[2])
        opc = int(line.split(" ")[3])
        value = int(line.split(" ")[5])
        if opg==160 & opc==129:
            ret['success'] = "valore: %s" % (value)
            self.write(tornado.escape.json_encode(ret))
Run Code Online (Sandbox Code Playgroud)

我有一系列的类型

1362581670        2459546910990453036    156     0     30      0
Run Code Online (Sandbox Code Playgroud)

我想只取第三个和第四个元素分别为160和129的行.这段代码不起作用.我需要做一些演员吗?我认为opg == 160正在使用int来进行campare int ...

python bitwise-operators logical-and

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

导航栏右侧导航栏中的语言选择器

我有这部分代码:

<div id="navbar-main">
  <!-- Fixed navbar -->
  <div class="navbar navbar-inverse navbar-fixed-top">
    <div class="container">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
            <span class="icon icon-heart" style="font-size:30px; color:#3498db;"></span>
          </button>
        <a class="navbar-brand hidden-xs hidden-sm" href="#home"><span class="icon icon-heart" style="font-size:18px; color:#3498db;"></span></a>
      </div>
      <div class="navbar-collapse collapse">
        <ul class="nav navbar-nav">
          <li><a href="#home" class="smoothScroll">Home</a></li>
          <li> <a href="#about" class="smoothScroll"> About</a></li>
          <li> <a href="#houses" class="smoothScroll"> Houses</a></li>
          <li> <a href="#products" class="smoothScroll"> Products</a></li>
          <li> <a href="#contact" class="smoothScroll"> Contact</a></li>
          <li>
            <a href="#" class="language" rel="it-IT"><img src="assets/img/it_IT.png" alt="Italiano" /></a>
          </li>
          <li>
            <a href="#" class="language" rel="en-US"><img src="assets/img/en_US.png" …
Run Code Online (Sandbox Code Playgroud)

html css twitter-bootstrap

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

Hybris 中的自定义 500 错误页面

我必须在 Hybris 的空白页面上重定向您在图片中看到的 500 错误页面。

在此处输入图片说明

怎么能做到这一点?

error-handling web.xml spring-mvc http-status-code-500 hybris

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

使用错误管理在Java中运行多个线程

我有一个这样的工作界面IJob:

public interface IJob {
    public void execute();
}
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,我有多个实现此接口的类,如IJob1和IJob2:

public class IJob1 implements IJob{
@Override
public void execute(){
    System.out.println("IJob1\n");
    }
}

public class IJob2 implements IJob{
@Override
public void execute(){
    System.out.println("IJob2\n");
    }
}
Run Code Online (Sandbox Code Playgroud)

由于要运行的作业数量稳步增加,我想创建一个新作业,它将获取IJob实例列表并并行运行它们.新实现用于并行运行作业的线程数量应该是可配置的.如果其中一个作业抛出异常,那么所有其他当前正在运行的作业也应该停止,而execute()方法应该将异常传递给调用者.

我写了这个,但我无法运行作业并检查是否有错误:

import java.util.LinkedList;

public class WorkQueue
{
    private final int nThreads;
    private final IJob[] threads;
    private final LinkedList queue;

    public WorkQueue(int nThreads)
    {
        this.nThreads = nThreads;
        queue = new LinkedList();
        threads = new IJob[nThreads];

        for (int i=0; i<nThreads; i++) {
            threads[i] = new IJob();
            threads[i].execute(); …
Run Code Online (Sandbox Code Playgroud)

java multithreading

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

数组中的整数之和

所以,基本上,问题要求我找到数组中数字的总和.除了数字'13'是非常不吉利的,因此不计算'13'和'13'之后的数字.

这就是我做的:

public int sum13(int[] nums) {
  int d = 0;
  int sum = 0;

  for (int i=0;i<nums.length;i++){
    if(nums[i] == 13){
    d = i;
    break;
    }
    else{
    d = nums.length;
    }
  }
  for(int i=0;i<d;i++){
   sum = sum + nums[i];
  }
  return sum;
}
Run Code Online (Sandbox Code Playgroud)

即使我通过了大部分测试,我仍然无法理解如何从总和中排除13旁边的数字.

例如,sum13({1,2,2,1,13})→6 PASSES!sum13({13,1,13})→0通过!但是,sum13({13,1,2,13,2,1,13})→3返回0,因为它在13的第一个实例处停止.

java arrays

0
推荐指数
1
解决办法
1697
查看次数