小编Ham*_*ada的帖子

什么是'/[AZ]/s| |/|gp' 是什么意思?

我正在https://riptutorial.com/sed/example/13753/lines-matching-regular-expression-pattern阅读 sed 教程。

好像

$ sed -n '/[A-Z]/ s| |/|gp' ip.txt
Run Code Online (Sandbox Code Playgroud)

正在从文件中过滤“Add Sub Mul Div”,并​​将其转换为“Add/Sub/Mul/Div”

考虑到我刚刚阅读了https://www.tldp.org/LDP/abs/html/x23170.html ,我真的不理解正则表达式。

它甚至不匹配打印语法,即:

[address-range]/p
Run Code Online (Sandbox Code Playgroud)

是管道符号'|' 这里交替?

谁能解释一下:

'/[A-Z]/ s| |/|gp'
Run Code Online (Sandbox Code Playgroud)

用英语?

编辑

我还发现 's' 之前和 '/' 之后的额外空格是允许的,并且不会做任何事情。正确的语法应该是:

[address-range]/s/pattern1/pattern2/
Run Code Online (Sandbox Code Playgroud)

sed模式的语法检查不严格,容易混淆

regex sed

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

node-gyp 未在 macos 上正确链接库

我正在开发一个节点插件,但在使用 node-gyp 构建后查找库时出现错误。

这是我的 binging.gyp 文件:

{
"targets": [{
    "target_name": "xaddon",
    "cflags!": [ "-fno-exceptions" ],
    "cflags_cc!": [ "-fno-exceptions" ],
    "sources": [
        "cppsrc/main.cc"
    ],
    'include_dirs': [
        "<!@(node -p \"require('node-addon-api').include\")", "lib"
    ],
    "libraries": ["<(module_root_dir)/lib/xaddon.so"],
    'dependencies': [
        "<!(node -p \"require('node-addon-api').gyp\")"
    ],
    'defines': [ 'NAPI_DISABLE_CPP_EXCEPTIONS' ]
}]
}
Run Code Online (Sandbox Code Playgroud)

这正确构建,如果我将 so 文件放在项目的根文件夹中,则一切正常。但我想在 lib 文件夹中运行一个包含文件的项目。

这是我尝试在 lib 文件夹而不是根文件夹中运行项目 so 文件时出现的错误。

Error: dlopen(#PATH_TO_PROJECT#/build/Release/xaddon.node, 1): Library not loaded: xaddon.so
Referenced from: #PATH_TO_PROJECT#/build/Release/xaddon.node
Reason: image not found
Run Code Online (Sandbox Code Playgroud)

c++ node.js node-gyp node.js-addon

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

如何使用反应和打字稿在同一组件文件中使用上下文?

我想从一个组件访问另一个组件的状态。为此,我只想将 contextprovider 包装到单击按钮时状态发生变化的组件,并从 usehook 返回状态,以便另一个组件可以访问该状态。

下面是在没有应用上下文的情况下组件的外观,

function UploadButton () { //this is where state is set
    const [isDialogOpen, setIsDialogOpen] = React.useState(false); 
     
    const handleClick = () => {
        setIsDialogOpen(!isDialogOpen);
    }
    return (
        <>
            <Button onClick={handleClick}/>
            {isDialogOpen && <Upload/>}
        </>
    ); 
}

function UserButton() { //this is where state is accessed
    return (
        <Icon/> //this icon should be displayed only if !isDialogOpen
    );
}
Run Code Online (Sandbox Code Playgroud)

上下文如下所示,我在 UploadButton 所在的同一文件中有 DialogContext。

 interface DialogCtxState {
     isDialogOpen: boolean;
     setIsDialogOpen: React.Dispatch<React.SetStateAction<boolean>>;
 }

 const initialDialogState: DialogCtxState = {
     isDialogOpen: …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs

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

为什么用户在刷新页面后退出?React/Redux 应用程序

如标题所示 - 当我在 React/Redux 应用程序中重新加载页面时,用户正在注销。我将令牌存储在 localStorage 中,但它不起作用,因此可能有任何错误。用户登录时应存储令牌。注销工作正常。这是我的代码:

auth.js(reducers 目录 - Redux):

import { LOGIN_SUCCESS, LOGIN_FAIL, LOGOUT_SUCCESS, REGISTER_SUCCESS, REGISTER_FAIL } from '../actions/types';

const initialState = {
  token: localStorage.getItem('token'),
  isAuthenticated: null,
  isLoading: false,
  isRegistered: false
}

export default function(state = initialState, action) {
  switch(action.type) {
    case REGISTER_SUCCESS:
      return {
        ...state,
        ...action.payload,
        token: null,
        isAuthenticated: false,
        isLoading: false,
        isRegistered: true
      }
    case LOGIN_SUCCESS:
      localStorage.setItem('token', action.payload.token);
      return {
        ...state,
        ...action.payload,
        isAuthenticated: true,
        isLoading: false,
      }
    case LOGIN_FAIL:
    case LOGOUT_SUCCESS:
    case REGISTER_FAIL:
      localStorage.removeItem('token');
      return { …
Run Code Online (Sandbox Code Playgroud)

javascript authentication reactjs redux

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

如何在 JavaScript 中创建一个不被引用修改的常量数组?

我很惊讶这会发生在 javascript 中,但是当我开发算法时,我注意到了这一点。

REPEL 模式下的 node.js 程序

当我将“mt”数组放入“wm”常量中,并更改“mt”数组中的值时,该值会在“wm”数组中更改。为什么会这样?我怎样才能使这不会发生?

我问这个是因为“wm”,在我看来,应该包含“mt”数组的副本,除非我直接修改它,否则不应该改变。

javascript arrays node.js

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

带有 URL 路径变量的 Python http 删除请求

我有一个公开为 http://localhost:8080/test/api/v1/qc/{id} 的 Http 端点用于删除,在进行此 API 删除调用时,我必须用正确的 id 替换

我使用 python 的 requests 模块尝试了以下方法

param = {
  "id" : 1
}

requests.delete(url = http://localhost:8080/test/api/v1/qc/{id}, params=param)
Run Code Online (Sandbox Code Playgroud)

此 API 调用因错误而中断

ValueError: No JSON object could be decoded.
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

python path-variables python-requests

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