我需要用Perl连接一个未定义数量的字符串来创建一个更大的字符串.
$concatenated_string = $string1 . $string2 . $string3 对于在程序中先前打开的文件中提供的所有字符串,请等待#..等等.
我只是一个初学者,但我在这里找不到任何与之相关的问题.任何帮助深表感谢.
我有下面的F#代码,它用于连接4个字符串,用空格分隔,只包括那些不是null或完全是空格的.
let street =
split.[5..8]
|> Array.filter (String.IsNullOrWhiteSpace >> not)
|> String.concat " "
Run Code Online (Sandbox Code Playgroud)
这非常有效,但性能不如下面的C#实现.
var street = "";
if (!string.IsNullOrWhiteSpace(items[5]))
street += items[5];
if (!string.IsNullOrWhiteSpace(items[6]))
street += string.IsNullOrWhiteSpace(street) ? items[6] : " " + items[6];
if (!string.IsNullOrWhiteSpace(items[7]))
street += string.IsNullOrWhiteSpace(street) ? items[7] : " " + items[7];
if (!string.IsNullOrWhiteSpace(items[8]))
street += string.IsNullOrWhiteSpace(street) ? items[8] : " " + items[8];
return street;
Run Code Online (Sandbox Code Playgroud)
有没有办法可以在F#中实现相同的实现方式,而不是使用内联函数?
在C++(G ++具体)中,可以连接两个没有空格的宏定义来创建第三个定义吗?例如,我该怎么做
#define _LOAD _mm256_load
#define _FLOAT ps
Run Code Online (Sandbox Code Playgroud)
并因此对它们进行操作
#define _LOAD_FLOAT ****do something with _FLOAT and _LOAD here *****
Run Code Online (Sandbox Code Playgroud)
创建功能上等同于以下内容的定义:
#define _LOAD_FLOAT _mm256_load_ps
Run Code Online (Sandbox Code Playgroud) 我在6到7年的java之后学习C++并且我遇到了一个问题,在这个片段中,它只是删除了n字符,因为输入已被给出.
#include <iostream>
int main()
{
int id;
std::cin >> id;
std::cout << "Hello world!" + id << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出不是
Hello world!*input*
Run Code Online (Sandbox Code Playgroud)
但相反,它会减去"hello world"输入中给出的n个字符.如果我给8输出将是rld!.如果有人能解释这个......我很乐意听到!=)
这可能看起来与SO上的其他问题重复.但是,我想知道Java如何对待null.
例如:
public class Work {
String x = null;
String y;
Integer z;
public static void main(String arg[]) {
Work w = new Work();
w.x = w.x + w.y; // work Line 1
w.x = w.x + w.y + w.z; // work Line 2
w.z = w.z + w.z; // NullPointerException Line 3
System.out.println(w.x.charAt(4));
}
}
Run Code Online (Sandbox Code Playgroud)
评论Line 3打印n而不是注释NullPointerException.如果我没有错Line 1和Line 2,它被隐式类型转换为String.但是,发生了Line 3什么?
我需要帮助"优化"我的代码,因为我确信有一种更好,更清洁的方法.我有6个变量是通过从较长的字符串中解析而创建的:
Year
Make
Model
Color
ColorLower
Style
Run Code Online (Sandbox Code Playgroud)
根据记录,我可能会在部分或全部变量中包含详细信息.但在大多数情况下,有些是空白的.在填充变量之后,我将它们添加到数据库字段中,该字段是汽车/车辆的描述.
目前我的if/else块逐个进行,如果变量的长度非零,则为连接的描述变量
if (length($Year)>0)
{
$Description == $Description + " " + Year
}
elsif (length($Make) > 0)
$Description == $Description + " " + $Make
} ...and so on
Run Code Online (Sandbox Code Playgroud)
TMTOWTDI绝对适用于此,我总是惊叹于专家提出的优雅的单行.虽然我现在的工作正在进行,但我有兴趣听到有一种更短,更紧凑的方式,我可以最大化我的代码.
谢谢大家.
有可能以某种方式连接这个:
my $ pattern1 = qr/^/;
Run Code Online (Sandbox Code Playgroud)
有了这个:
my $ pattern2 = qr/ABC/
Run Code Online (Sandbox Code Playgroud)
所以我得到(这个值)?
qr/^ABC/
Run Code Online (Sandbox Code Playgroud)
语法可能不同,我只是想实现这个结果.
我必须将两个变量连接在一起,旁边是 request.locale
我向你解释一下:
我有一个实体命名的Lexicon几个领域:
wordFr,wordEn,definitionFr,definitionEn
我尝试做类似的事情来替换Fr或En根据request.locale它但它不起作用:
{% set locale = '' %}
{% if app.request.locale == "fr" %}
{% set locale = 'Fr' %}
{% else %}
{% set locale = 'En' %}
{% endif %}
{% for wordList in wordsList %}
<tr>
<td>{{ wordList.word~locale }}</td>
<td>{{ wordList.definition~locale }}</td>
</tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
如何拥有{{ wordList.wordFr }}或{{ wordList.wordEn }}根据语言环境(替换var localeby Fr或 …
我需要将符号扩展从4位数转换为32位数.所以我尝试重复MSB 28时间看起来像这样:
assign x={28'b{a[3]},a[3:0]};
Run Code Online (Sandbox Code Playgroud)
但错误是:
"{"附近的语法错误
x定义为:wire [31:0] x ;
a定义为:input [3:0]a;
这是在错误的实现中连接,还是这个特定错误的原因是什么?
我有两个相同长度的列表,如下所示:
lstA = [[1,4,5,6],[4,5],[5,6],[],[],[],[],[]]
lstB = [[7,8],[4,5],[],[],[],[2,7,8],[7,8],[6,7]]
Run Code Online (Sandbox Code Playgroud)
我想在每个索引位置连接子列表,以便它们创建一个子列表,如下所示:
newlst = [[1,4,5,6,7,8],[4,5],[5,6],[],[],[2,7,8],[7,8],[6,7]]
Run Code Online (Sandbox Code Playgroud)
理想情况下,新的子列表将删除重复项(如newlst [1]中).我将整数转换为字符串,并试图这样做:
for i in range(len(lstA)):
c = [item + item for item in strA[i], strB[i]]
Run Code Online (Sandbox Code Playgroud)
但是在添加到其他列表之前,会将每个列表中的每个项目添加到自身,从而产生如下所示的内容:
failedlst = [[["1","4","5","6","1","4","5","6"],["7","8","7","8"]],[["4","5","4","5"],["4","5","4","5"]]...etc]
Run Code Online (Sandbox Code Playgroud)
这仍然没有实际加入这两个子列表,只是创建了两个子列表的新子列表.任何帮助都会受到很大的限制!