小编Ita*_*Gal的帖子

在没有外部库的情况下尝试在Perl中捕获

我正在从Java代码生成Perl代码,并尝试模拟该try catch机制。我不能使用外部库。我发现了两种可能的方法来模拟这种行为:

第一:

eval {
     ...
};
if ($@) {
     errorHandler($@);
}
Run Code Online (Sandbox Code Playgroud)

第二:

unless(.....){
    // handle the error
}
Run Code Online (Sandbox Code Playgroud)

我对Perl的了解很少。据我了解,第一种解决方案使我能够执行多个命令,而第二种解决方案使我只能执行一个命令。但是,我也看到不建议使用eval。

什么是正确的方式?

error-handling perl try-catch

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

获取用于TCP连接的随机端口

我有一个客户端和一个服务器应用程序。当客户端要发送文件时,我正在使用TCP连接。当我为连接使用恒定端口号时,它可以工作(服务器接收文件)。

我想使用随机端口,因此尝试将端口设置为0。

我的代码是:

bzero((char *) &serv_addr, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = INADDR_ANY;
serv_addr.sin_port = 0;

if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0){
    cout << "failed to bind with errno: "<< errno << endl;
    exit(1);
}
Run Code Online (Sandbox Code Playgroud)

绑定有效,但使用端口0而不是预期的随机端口。

我究竟做错了什么?

c++ sockets linux port tcp

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

为什么strtok不适用于stringstream?

考虑以下参数:

char words[8] = "one two";
string word1;
string word2;
stringstream ss;
Run Code Online (Sandbox Code Playgroud)

这段代码的输出:

ss << strtok(words, " ");
ss >> word1;
ss << strtok(NULL, " ");
ss >> word2;
cout << "Words: " << word1 << " " << word2 << endl;
Run Code Online (Sandbox Code Playgroud)

是:

Words: one
Run Code Online (Sandbox Code Playgroud)

而对于这段代码

ss << strtok(words, " ");
ss >> word1;
char* temp = strtok(NULL, " ");
word2 = temp;
cout << "Words: " << word1 << " " << word2 << endl;
Run Code Online (Sandbox Code Playgroud)

输出是:

Words: one two …
Run Code Online (Sandbox Code Playgroud)

c++ split stringstream strtok

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

如何使用CSS更改html列表上的字体大小

O.伙计们.我有一个顶级应用程序,我正在使用Jquery手机主题,但基本上我有一些列表项目,我需要在我的屏幕上显示,但我的屏幕是一个手持设备,它有小屏幕尺寸,所以当我显示列表项目的大小太大了,我想减小字体大小.在我的apex html页面中,我得到了一个"CSS内联"部分,实际上得到了一些代码,如下所示,我减少了文本和数字字段的字体大小,但我不知道如何减少列表项的字体大小,我想这很容易,但实际上我是新的html和CSS的东西..

提前致谢.

input[type="text"] {font-size:8px}
input[type="number"] {font-size:8px}
Run Code Online (Sandbox Code Playgroud)

html css

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

透明的<hr>用于响应式垂直间距:它真的是无意义的吗?

我已经开始使用一种技术来处理前端设计中的垂直间距,该技术使用透明<hr>的间距元素.我知道这归咎于大多数网络社区的仇恨,但我仍然认为这是处理特殊情况的好方法.以下是好处:

  1. <hr> 是一个自动关闭的标签,所以它在标记上很友好
  2. 它的语义目的(根据MDN)是用一个部分来表示主题中断或主题转移.MDN还预先确定它现在用语义术语定义,而不是表示术语,这意味着<hr>只占空间的不可见不会反对元素的语义.
  3. 跨浏览器很容易保持一致的风格
  4. 我们可以在其中构建响应行为

我非常清楚标记和样式之间需要分离.然而,在响应式设计中,元素之间的垂直间距有时是繁琐的,并且在我看来,它通常比语义标记具有更高的价格.

一种常见的方法是使用手动样式处理特殊情况:当基于组件的类(如.my-special-recurring-element不够精确)(假设这个特定的类太靠近它下面的元素)时,请#special-element-that-requires-spacing手动添加id 并设置样式,这样就变成了很难维护:

/* Ensure that the special element is not too close to the footer in mobile */

#special-element-that-requires-spacing {
  margin-bottom: 1rem;
}

@media screen and (min-width: 640px) {
  #special-element-that-requires-spacing {
    margin-bottom: 0;
  }
}
Run Code Online (Sandbox Code Playgroud)

这就是为什么像Tachyons和Basscss这样的CSS实用工具包近年来变得越来越流行的原因.它允许使用内联类调整垂直间距,并具有直接响应处理的附加好处.我们现在可以像这样编写我们的HTML(Tachyons中的例子):

<div class="my-special-recurring-element mb1 mb0-ns"></div>
Run Code Online (Sandbox Code Playgroud)

其中.mb1粗略意味着在我们的尺寸范围内应用1的边距底部,并且mb0-ns意味着在非小视口宽度中应用边距为零的底部.这对于前端设计来说肯定更实用,但它经常变得杂乱无章 - …

html css frontend semantic-markup

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