通过本周的now
开始日期 ( ) 和结束日期 ( )收到。如何获取本周从开始到结束的完整日期列表?beginning_of_week()
end_of_week()
Dima Kuzmin's questions
刚刚开始使用 Rust 中的线程。我无法在两个线程之间传递哈希表。如何正确地做到这一点以及我的错误在哪里?任务是在一个线程中收集哈希表并在另一个线程中打印它。
use std::thread;
use std::time::Duration;
use std::fs;
use std::io::{stdin, Read};
use std::collections::HashMap;
fn main() {
let mut hello = String::from("Hello, ");
let mut influx_data:HashMap<String, i32> = HashMap::new();
//second thread
thread::spawn(move || {
let mut character = [0];
hello = String::from("sasasas ");
while let Ok(_) = stdin().read(&mut character) {
if character[0] == b'\n' {
influx_data.entry(hello).and_modify(|count| *count += 1).or_insert(1);
println!("counter_bss cnt=7\n");
}
}
thread::sleep(Duration::from_secs(1));
});
//main thread
loop {
let data = "Some data!";
fs::write("/tmp/foo", data).expect("Unable to write file");
for (key, value) in &influx_data {
println!("{} {}", key, value);
}
thread::sleep(Duration::from_secs(10));
}
}
错误
|
23 | influx_data.entry(hello).and_modify(|count| *count += 1).or_insert(1);
| ^^^^^ value moved here, in previous iteration of loop
直到最后我都无法赢得常规赛。您需要从字符串中选择组:日期时间、方括号内的文本以及子字符串中的路径(不包括文件名)。
示例行:
2023-10-26 03:06:55,136 WARN [TSSS_NSSS-SIB] done ip 10.33.22.22 f '/mnt/data/DD/DD/A/sds/tdf/DDdf-fdfd-dfdf_dfdf_3433343.txt' t '/DDdf-fdfd-dfdf_dfdf_3433343.txt' sz 3507
以下是常规时间表:(.*)(\sWARN\s{2}\[)(.*)(\]\s)(done[^\']+\')
不可能说我们需要进一步选择路径子字符串中从第一次出现的“/”到最后一次出现的“/”的所有内容。因此,您需要从这一行中分组选择:
2023-10-26 03:06:55
TSSS_NSSS-SIB
/mnt/data/DD/DD/A/sds/tdf/
PostgreSQL 14上有一个数据库。表中有字段numb
(BIGINT)、id
(Varchar)、date_from
(TIMESTAMP),它包含以下形式的记录:
numb;id;date_from;
124455;5820;2022-07-20 08:01:29;
124455;5820;2022-07-24 08:01:29;
124455;5402;2022-07-27 00:01:31;
124455;1020;2022-07-28 00:06:01;
numb
我们有一个日期(在条件中)'2022-07-26 21:03:23',我们需要构建一个查询,以便在一个查询中我们选择= 124455的上一条记录,并且date_from
小于记录中的'2022-07-27 00:01:31'
因此,我们应该只选择条目: ' 124455;5820;2022-07-24 08:01:29; ',因为它的日期大于下一条记录的日期:'2022-07-27 00:01:31'并且大于日期为'2022-07-20 08:01:29'的记录。
因此,事实证明,我们应该始终仅选择一个且仅选择date_from
小于“2022-07-26 21:03:23”的条目中的上一个条目,但不大于下一个条目date_from
“2022-07-27 00” :01' :31'。
您需要计算一串字母的频率。最好没有宏。如果你在一个循环中读取一个字符数组,但是如何计算已经读取字符的频率。读取一个字符数组并在其中收集另一个数组,每次传递一个新字符并以某种方式增加时都通过该数组 - 还记得计数器吗?或者有其他方法可以解决吗?
我开始写作,但我不知道如何计算那些已经遇到的字符。
#include <stdio.h>
#include <string.h>
int main (void)
{
char * s = "This is the test string.";
int size = strlen(s), i;
for(i = 0; i < size; i++){
if(s[i] != ' '){
printf("%c", s[i]);
}
}
return 0;
}
请给我一个想法。我对这个任务有点困惑:给定一个自然数。它以相同的数字开头和结尾是真的吗?首先我尝试读入一个数组,然后计算数组中的元素以找到第一个和最后一个数字,然后进行比较。但是我无法用数组完成它,在我看来这是数组的复杂性。
决策中应该遵循什么逻辑?
如何理解设计的意义
rand() % 21 + (-10)
值(-10)不清楚,即 这里的间隔值最大为 21,但为什么括号中是 -10 并且 rand 是否适用于该范围内的负数?
有这段代码:
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
void listdir(const char *name, int indent)
{
DIR *dir;
struct dirent *entry;
struct stat buff;
if (!(dir = opendir(name))){
return;
}
while ((entry = readdir(dir)) != NULL) {
if (entry->d_type == DT_DIR) {
//char path[1024];
if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0){
continue;
}
//
stat(entry->d_name, &buff);
time_t times = buff.st_ctim.tv_sec;
printf("%s %s", entry->d_name, ctime(×)); //
listdir(entry->d_name, indent + 1);
}
}
closedir(dir);
}
int main(void) {
listdir(".", 0);
return 0;
}
执行时,它给出的 ctime 时间不正确,自 1970 年以来一切都在进行。结果是这样的: Thu Jan 1 05:03:14 1970 时间格式问题?
在产品属性中,我选中了多个复选框。结果,在显示此属性的产品卡本身中,写入 Array。1C-Bitrix:站点管理 20.0.0。他如何在页面上将此列表显示为产品的下拉列表?
和数组一样
array(4) {
[0]=> string(21) "itd-sd|100.99.22.12"
[1]=> string(32) "itd-sd.site.ru|100.99.22.12"
[2]=> string(21) "mt-sd|192.168.0.1"
[3]=> string(32) "mt-sd|192.168.0.22"
}
按元素值组合得到以下结果:
array(2) {
[0]=> string(21) "itd-sd|100.99.22.12|itd-sd.site.ru"
[1]=> string(21) "mt-sd|192.168.0.1|192.168.0.22"
}
即,如果元素的值具有共同的值,我需要 - 然后通过分隔符将这些元素“粘合”成一个。在第一种情况下,我们通过值“100.99.22.12”进行组合,在第二种情况下,我们使用“mt-sd”进行组合。单击解决方案。
大批:
array(2) {
[0]=> array(2) {
["2020-03-27"]=> int(8)
["tags"]=> string(17) "STS; сервис" }
[1]=> array(2) {
["2020-03-27"]=> int(3)
["tags"]=> string(17) "PTP; сервис; тест" }
}
收集新数组的最佳方法是什么,如果这样的键已经存在(例如['2020-03-27']),那么
- 将数组元素与 key 组合
["tags"]
,但如果它的值相同,则执行它merge
,如果不是,则添加新值。 - 带有键的元素的值
["2020-03-27"]
设置为 last。
我会这样做:检查是否有这样的键,如果有,我们更新值,但我["tags"]
不明白如何做得更好。
也就是说,你应该得到这样一个数组:
array(1) {
[0]=> array(2) {
["2020-03-27"]=> int(3)
["tags"]=> string(17) "STS; PTP; сервис; тест" }
}
类 class.send_mail_func.php
class phpmailer {
public function sendMail($message, $subject){
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require_once ('./PHPMailer/vendor/phpmailer/phpmailer/src/Exception.php');
require_once ('./PHPMailer/vendor/phpmailer/phpmailer/src/PHPMailer.php');
require_once ('./PHPMailer/vendor/phpmailer/phpmailer/src/SMTP.php');
//отправляем почту
$mail = new PHPMailer;
//$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->setLanguage('ru', './PHPMailer/language/');
$mail->CharSet = 'utf-8';
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'host'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'mail@mailru'; // SMTP username
$mail->Password = '123'; // SMTP password
$mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to
$mail->setFrom('m@m.ru', 'Text');
$mail->addAddress('user@user.ru', 'User'); // Add a recipient
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = $subject;
$mail->msgHTML($message);
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
}
}
我这样用
include './class.send_mail_func.php';
$email_send = new phpmailer();
$email_send->sendMail($message,$subject);
我收到以下错误:Parse error: syntax error, unexpected 'use' (T_USE) in /home/class.send_mail_func.php on line 7
如何在类中正确使用 use?
我不知道如何转换为纯文本。我的结果是一个 json 字符串,这是一个片段。通过解码,我不能把它变成可读的形式。
string(8533) ""{\"text_unique\":\"0.00\",\"result_json\":\"{\\\"date_check\\\":\\\"03.01.2020 20:12:39\\\",\\\"unique\\\":0,\\\"clear_text\\\":\\\"\\\\u041a\\\\u0435\\\\u0440\\\\u0430\\\\u043c\\\\u0438\\\\u0447\\\\u0435\\\\u0441\\\\u043a\\\\u0438\\\\u0439 \\\\u043a\\\\u0438\\\\u0440\\\\u043f\\\\u0438\\\\u0447 \\\\u0438\\\\u0437\\\\u0433\\\\u043e\\\\u0442\\\\u043e\\\\u0432\\\\u043b\\\\u0435\\\\u043d \\\\u0438\\\\u0437 \\\\u044d\\\\u043a\\\\u043e\\\\u043b\\\\u043e\\\\u0433\\\\u0438\\\\u0447\\\\u0435\\\\u0441\\\\u043a\\\\u0438 \\\\u0447\\\\u0438\\\\u0441\\\\u0442\\\\u043e\\\\u0433\\\\u043e \\\\u043d\\\\u0430\\\\u0442\\\\u0443\\\\u0440\\\\u0430\\\\u043b\\\\u044c\\\\u043d\\\\u043e\\\\u0433\\\\u043e \\\\u0441\\\\u044b\\\\u0440\\\\u044c\\\\u044f \\\\u043e\\\
请戳你的鼻子。我开始使用 Rust。我不知道如何在循环中使用变量。
fn main() {
for e in glob("./*.json").expect("Failed to read glob pattern") {
let mut file = File::open(e).unwrap();
}
}
我还不明白语法 let mut file = File::open(e).unwrap();
如果我这样做,我发誓:
让 mut 文件 = File::open(e).unwrap(); | ^ 该特征
std::convert::AsRef<std::path::Path>
未实现std::result::Result<std::path::PathBuf, glob::GlobError>
您需要读取第一个输入类型="text" 中的长度,并在第二个输入类型="text" 中将其设置为最大长度。
到目前为止,我能够在第一个中实现,您可以计算并显示长度并通过单击显示长度值。但是,不点击就无法设置 maxlength,而是在填充(或通过计时器)第一个输入 type="text" 并将该值设置为第二个的 maxlength 长度值时。因此,它不是由事件完成,而是由计时器完成,例如,这样用户就不会点击或按下任何东西。
在这里,他们用笨拙的双手迄今取得的成就
function f1() {
$('#cartag').on('click', function() {
var input = $(this);
var input_lenght = input.val().length;
input.next("span").text(input_lenght + " chars");
//console.log(input_lenght);
return input_lenght;
});
}
//f1();
$('#cartag222').on('click', function() {
var limitvalue = f1();
console.log(limitvalue);
limitText(this, limitvalue);
});
function limitText(field, maxChar) {
var ref = $(field),
val = ref.val();
if (val.length >= maxChar) {
ref.val(function() {
//console.log(val.substr(0, maxChar))
return val.substr(0, maxChar);
});
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="cartag" type="text" name="car"><span></span>
<input id="cartag222" type="text" name="car222">
在循环中我们得到变量的值。
foreach ($rows as $r) {
foreach ($array_1 as $a) {
echo $r['id'].' '. $a.'<br>';
}
}
结果,我们得到以下列表:
396 зеленый
396 рядовой
396 эффективный
396 утолщенный
396 купить кирпич
396 яйцо
401 рядовой
401 эффективный
401 утолщенный
401 купить кирпич
401 яйцо
403 рядовой
403 эффективный
403 утолщенный
403 купить кирпич
403 яйцо
404 рядовой
404 эффективный
404 утолщенный
404 купить кирпич
404 яйцо
我想不通如何将它组装成一个字符串,以便每个字符串只有某个 $r['id'] 的值
也就是说,要这样得到它:
396, зеленый,рядовой,эффективный,утолщенный,купить кирпич, яйцо
401, рядовой, эффективный, утолщенный, купить кирпич, яйцо
MySQL中有这样的查询
SELECT a.`product_id`, c.`name`, c.`tag`, (CHAR_LENGTH(c.`tag`) - CHAR_LENGTH(REPLACE(c.`tag`,',',''))) div CHAR_LENGTH(',') as counts
FROM `table`
如果结果大于 5,如何添加条件?
(CHAR_LENGTH(c.`tag`) - CHAR_LENGTH(REPLACE(c.`tag`,',',''))) div CHAR_LENGTH(',') > 5
也就是说,对于这样一个歪曲的例子,对不起
SELECT a.`product_id`, c.`name`, c.`tag`, (CHAR_LENGTH(c.`tag`) - CHAR_LENGTH(REPLACE(c.`tag`,',',''))) div CHAR_LENGTH(',') as counts
FROM `table`
WHERE (CHAR_LENGTH(c.`tag`) - CHAR_LENGTH(REPLACE(c.`tag`,',',''))) div CHAR_LENGTH(',') > 5
有2个数组
Array (
[0] => Array ( [product_id] => 3449 [name] => Тр2 )
[1] => Array ( [product_id] => 3450 [name] => Труб )
[2] => Array ( [product_id] => 3464 [name] => Сетк )
[3] => Array ( [product_id] => 3466 [name] => MTd )
)
和
Array (
[0] => Array ( [id] => 7 )
[1] => Array ( [id] => 7 )
[2] => Array ( [id] => 8 )
[3] => Array ( [id] => 9 )
)
如何向第一个数组添加一个新元素,例如 'id' 到每个将包含来自第二个数组的值的元素?第二个数组包含带有“id”键的元素,必须按顺序将其分配给第一个数组。
你应该得到一个这样的数组:
Array (
[0] => Array ( [product_id] => 3449 [name] => Тр2 [id] => 7)
[1] => Array ( [product_id] => 3450 [name] => Труб [id] => 7)
[2] => Array ( [product_id] => 3464 [name] => Сетк [id] => 8)
[3] => Array ( [product_id] => 3466 [name] => MTd [id] => 9)
)
大批:
Array ( [0] => 123
[1] => 333
[2] => 323
[3] => 444
[4] => cas
[5] => sssss,XXX
)
如何从包含“XXX”的元素中删除左边的4个元素?
最终结果应该是:
Array ( [0] => 123
[5] => sssss,XXX
)
虽然试图通过array_splice
,但它不起作用。我不知道怎么说我需要从其中包含“XXX”的元素中数 4
Array (
[0] => Array ( [msisdn] => 79112221122 [called] => 7234346383 [dates] => 2018050108 [duration] => 13 )
[1] => Array ( [msisdn] => 79112221122 [called] => 78787878787 [dates] => 2018050108 [duration] => 142 )
)
如何将重复 $array['msisdn'] 的元素输出或收集到新数组中?事实证明,您需要将 $array['msisdn'] 的每个值并遍历整个数组,如果找到该值,则将其写入新数组。然后转到 $array['msisdn'] 的下一个值并重复迭代。