可以说我有一个类C和一个对象O的实例(来自JSON)。
class C {
str:string;
num:number;
}
var o = JSON.parse ("{\"num\":123, \"str\":\"abc\"}");
Run Code Online (Sandbox Code Playgroud)
有没有办法我可以用o分配/初始化C的实例,并且它可以检查未定义的值以及类型,而无需我自己在复制构造函数/函数中执行此操作?
如果值丢失/未定义或类型不匹配,我想获取错误或异常。
谢谢!
我是Perl XS的新手.
我的简单测试函数获取一个字符串并附加一些内容.在Perl中是一个标量字符串输入和输出.
在函数中我有一个malloc.什么是正确的释放mem的方法?
SV *foo (str)
SV *str
CODE:
unsigned char *strbuf;
size_t strlen;
strbuf = (unsigned char *) SvPV (str, strlen);
int n = strlen + 10;
unsigned char *buf = malloc (n);
strncpy (buf, strbuf, strlen);
strncat (buf, "0123456789", 10);
RETVAL = newSVpv (buf, n);
OUTPUT:
RETVAL
Run Code Online (Sandbox Code Playgroud)
谢谢!克里斯
C ++ 11 RegEx有点问题,我认为这与贪婪有关。
这是一个小样本。
#include <stdio.h>
#include <string>
#include <regex>
int main (void)
{
std::string in="{ab}{cd}[ef]{gh}[ij][kl]"; // the input-string
std::regex rx1 ("(\\{.+?})(.*)", std::regex::extended); // non-greedy?
std::smatch match;
if (regex_match (in, match, rx1))
{
printf ("\n%s\n", match.str(1).c_str());
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我希望
{ab}
Run Code Online (Sandbox Code Playgroud)
用于输出。但是我得到了
{ab}{cd}[ef]{gh}
Run Code Online (Sandbox Code Playgroud)
我希望得到的结果是贪婪的,而不是?在。+之后。应该让它不贪心吧?
那么我的想法出了什么问题?感谢帮助!
克里斯
请有人解释一下,为什么这不起作用?
#!/bin/bash
cmd="ps aux | grep -v grep"
cnt=$($cmd)
Run Code Online (Sandbox Code Playgroud)
我从 ps 收到错误。
error: garbage option
Usage:
ps [options]
.....
Run Code Online (Sandbox Code Playgroud)
"ps aux" 仅适用 - 但不适用于任何额外的管道命令。
谢谢!
#!/bin/bash
# 1st part
ret=$(ps aux | grep -v grep) # thats OK
echo $ret
# 2nd part
cmd="ps aux | grep -v grep" # a problem with the pipe |
ret=$($cmd)
echo $ret
Run Code Online (Sandbox Code Playgroud)
我如何使用第二部分中的命令字符串?认为管道是问题.试图逃避它,但它没有帮助.得到ps的一些snytax错误.
谢谢!
可以说我有一个正在做一些工作的C类。
为此,我需要一个非常简单的辅助类H(例如,一对或三元组的表示)。H仅在C中需要。
我将H放在C内。
class C
{
void foo ()
{
// ... use H to do the job more easy ...
}
class H
{
// very simple and contained stuff
}
}
Run Code Online (Sandbox Code Playgroud)
将H放在C中是一个好主意吗?我这样做是为了将其包含在我认为应该存在的地方,并且没有其他地方。但是我不确定这是不是好的设计。
我有一个过滤器。如果请求 /a,它应该重定向到 /b。
public class WebFilter extends GenericFilterBean
{
@Override
public void doFilter (ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
{
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
String path = req.getRequestURI ().toString ();
if (path.equals ("/a") == true)
{
System.out.println ("FILTER: a -> b");
res.reset ();
res.resetBuffer();
res.sendRedirect ("b");
}
chain.doFilter (req, res);
}
}
Run Code Online (Sandbox Code Playgroud)
这是内容的处理程序。
@Component
@Controller
@RequestMapping ("/")
public class WebHandler
{
@RequestMapping ("/a")
public String a ()
{
System.out.println ("a");
return …Run Code Online (Sandbox Code Playgroud) 我想从外部(例如从另一个订阅)触发一个可观察的(obs)。我发现的所有样本都是在观察者实现中通过超时在内部进行的。
obs = new Observable (observer => { ... });
someother.subsribe ((n) =>
{
// trigger obs
// obs.next is not available
});
Run Code Online (Sandbox Code Playgroud) 我有点吃惊.如果我使用常量来表示哈希键Perl不使用该值.我需要把它放在它前面以实现这一目标.
use constant A => "a";
use constant B => "b";
my %h = (A => "1", &B => "2");
print "\n". A . ", " . B;
foreach (sort (keys (%h)))
{
print "\n" . $_ . "=" . $h {$_};
}
Run Code Online (Sandbox Code Playgroud)
输出:
a, b
A=1
b=2
Run Code Online (Sandbox Code Playgroud)
但我希望(第二行不同).
a, b
a=1
b=2
Run Code Online (Sandbox Code Playgroud)
没有&时使用常量进行哈希键的任何方法吗?
感谢帮助!
我有一个HTTPS站点,需要一个中间证书来验证服务器的SSL证书。
如果我将中间证书放入/ etc / ssl / certs中(并进行哈希链接),则
openssl s_client -connect IP:PORT
Run Code Online (Sandbox Code Playgroud)
将工作。否则,我会收到验证错误。
wget在哪里寻找证书?只有在wget中显式设置--ca-directory时,我才能使它工作。
因此,似乎openssl会查看/ etc / ssl / certs,而wget不会。
谢谢!
编辑
如果我用-d运行wget,那么我看不到--ca-directory,它将加载约150个证书。随着选项它超过300。所以它必须是另一条路径,然后我认为openssl-default。
在Debian 10上的linux-gnu上的Wget 1.19.4
bash ×2
java ×2
perl ×2
angular ×1
c ×1
c++ ×1
c++11 ×1
constants ×1
hash ×1
javascript ×1
linux ×1
non-greedy ×1
observable ×1
oop ×1
openssl ×1
regex ×1
rxjs ×1
spring-boot ×1
ssl ×1
typescript ×1
wget ×1
xs ×1