我正在努力找出ages所有Person有第二个名字的人。我能够使用filter和map分别进行如下操作,但我想知道我们是否可以filter_map在 Rust 中使用。
但我无法弄清楚。
struct Person {
pub first_name: String,
pub last_name: Option<String>,
pub age: i32,
}
fn main() {
let mut persons: Vec<Person> = Vec::new();
persons.push(Person {
first_name: "Asnim".to_string(),
last_name: None,
age: 1,
});
persons.push(Person {
first_name: "Fahim".to_string(),
last_name: Some("Ansari".to_string()),
age: 2,
});
persons.push(Person {
first_name: "Shahul".to_string(),
last_name: None,
age: 6,
});
persons.push(Person {
first_name: "Mujeeb".to_string(),
last_name: Some("Rahuman".to_string()),
age: 6,
});
let ages_of_people_with_second_name_using_seperate_filter_map: Vec<i32> = persons
.iter()
.filter(|p| p.last_name.is_some()) …Run Code Online (Sandbox Code Playgroud) 我正在使用PHP访问Google分析API,这可以在我的最终使用,但我希望能够进一步过滤结果.现在我正在使用:
$OBJresult = $analytics -> data_ga -> get(
'ga:' . $profilID,
'2012-01-01',
date( "Y-m-d" ),
'ga:visits',
array(
'dimensions' => 'ga:pagePath',
'metrics' => 'ga:pageviews',
'sort' => '-ga:pageviews',
'max-results' => '25'
)
);
Run Code Online (Sandbox Code Playgroud)
目前,这将返回按其命中排序的25页.我希望将结果限制在服务器内的特定路径.因此,例如,仅查询domain.com/news,并且仅查看最受欢迎的新闻页面.我可以使用PHP过滤,而是尽可能具体地查询.
谢谢您的帮助
要创建格式输出并填充输出,n您可以在 Rust 中执行以下操作:
fn main() {\n let title = " Title ";\n println!("\xe2\x94\x8c{:\xe2\x94\x80^11}\xe2\x94\x90", title);\n}\nRun Code Online (Sandbox Code Playgroud)\n这将打印:
\n\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80 Title \xe2\x94\x80\xe2\x94\x80\xe2\x94\x90\nRun Code Online (Sandbox Code Playgroud)\n因此,str 的^两侧都被填充(通过 居中),且-间距不超过 11 个字符。
我怎样才能使这个宽度动态化呢?通过变量。
\n我正在为拥有非常不同的字母表的国际客户工作,因此我试图最终概述PHP和MySQL之间的完整工作流程,以确保正确插入所有字符编码.我已经阅读了很多这方面的教程,但仍然有问题(有很多东西需要学习),并且我想我可能只是把它们放在一起然后问.
PHP
header('Content-Type:text/html; charset=UTF-8');
mb_internal_encoding('UTF-8');
Run Code Online (Sandbox Code Playgroud)
HTML
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<form accept-charset="UTF-8"> .. </form>
Run Code Online (Sandbox Code Playgroud)
(虽然后者是可选的,而是一个建议,但我相信我宁愿建议不要做任何事情)
MySQL的
CREATE database_name DEFAULT CHARACTER SET utf8;或者ALTER database_name DEFAULT CHARACTER SET utf8;和/或utf8_general_ci用作MySQL连接整理.
(这里需要注意的是,如果使用varchar,这将增加数据库大小)
连接
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER_SET utf8");
Run Code Online (Sandbox Code Playgroud)
企业逻辑
检测是否不是UTF8 mb_detect_encoding()并转换为ivon().
验证过长的UTF8和UTF16序列
$body=preg_replace('/[\x00-\x08\x10\x0B\x0C\x0E-\x19\x7F]|(?<=^|[\x00-\x7F])[\x80-\xBF]+|([\xC0\xC1]|[\xF0-\xFF])[\x80-\xBF]*|[\xC2-\xDF]((?![\x80-\xBF])|[\x80-\xBF]{2,})|[\xE0-\xEF](([\x80-\xBF](?![\x80-\xBF]))|(?![\x80-\xBF]{2})|[\x80-\xBF]{3,})/','?',$body);
$body=preg_replace('/\xE0[\x80-\x9F][\x80-\xBF]|\xED[\xA0-\xBF][\x80-\xBF]/S','?', $body);
Run Code Online (Sandbox Code Playgroud)
问题
mb_internal_encoding('UTF-8')PHP 5.3及更高版本是必要的,如果是这样,这意味着我必须使用所有多字节函数而不是其核心函数mb_substr()而不是substr()?
是否仍然需要检查输入错误的输入,如果是,那么可靠的功能/类是什么?我可能不想删除不良数据并且不太了解音译.
应该真的是utf8_general_ci或者更确切地说utf8_bin?
上述工作流程中缺少什么?
来源:
http://coding.smashingmagazine.com/2012/06/06/all-about-unicode-utf8-character-sets/
http://webcollab.sourceforge.net/unicode.html
http://stackoverflow.com/a/3742879/1043231
http://www.adayinthelifeof.nl/2010/12/04/about-using-utf-8-fields-in-mysql/
http://akrabat.com/php/utf8-php-and-mysql/
Run Code Online (Sandbox Code Playgroud) 我对 JavaScript 中的一些概念有疑问,例如(truthy, true)和(falsy, false)。
我知道 1 的类型不是,true但问题是:为什么1 == true?
ECMAScript 将 1 或“ghsagh”视为 的主要原因是true什么?
我也无法理解的含义truthy和falsy。
这种考虑有什么好处?!
所以我需要package.json在通过npm安装新软件包之前阅读.
我正在使用npm用于CSS组件,这些组件是单独版本化的并且可以具有相互依赖性.(没有提供javascript)
寻找一堆依赖项的版本冲突,我需要在package A需要时检测package C@1.0.0并package B要求package C@2.0.0和处理它.
Npm(从版本3开始)通过在树内更深层地嵌入冲突模块来处理这些问题.您现在最终得到了同一模块的两个版本.CSS有一个全局命名空间,然后mixin(在Sasss的情况下)会相互覆盖并破坏你的CSS.
这个平面依赖问题在npm博客中得到了很好的概述:http://blog.npmjs.org/post/101775448305/npm-and-front-end-packaging
即使没有考虑我们的特定用例,我也很奇怪你没有访问package.jsonin preinstall和postinstall脚本.它们似乎只适用于该用例.
我package.json正在安装的软件包看起来像这样:
{
"name": "testmodule",
"version": "0.3.6",
"description": "TODO",
"scripts": {
"preinstall": "npm i some-script && some-script",
},
"author": "TODO",
"license": "MIT"
}
Run Code Online (Sandbox Code Playgroud)
在some-script我运行的那个包里面:
console.log( process.cwd() );
console.log( __dirname );
Run Code Online (Sandbox Code Playgroud)
然后我跑:
~/path/to/folder $ npm i testmodule
Run Code Online (Sandbox Code Playgroud)
这将导致:
$ npm i testmodule
> testmodule@0.3.6 preinstall /path/to/folder/node_modules/.staging/testmodule-5cc9d333 …Run Code Online (Sandbox Code Playgroud) 我有一个网络应用程序,它将数据存储在浏览器中以支持“离线”工作。
下面是相关代码:
function getPosCacheData(request, cacheName) {
var storageUrl = request.url;
var checkResponse = navigator.onLine;
return caches.open(cacheName).then(function(cache) {
if (checkResponse == true) {
return fetch(request).then(function(networkResponse) {
if (networkResponse.ok == true) {
cache.put(storageUrl, networkResponse.clone());
}
return networkResponse;
}).catch(function(error) {
return cache.match(storageUrl).then(function(response) {
if (response)
return formFilter(response);
else
return fallPosBackResponse('live');
});
});
} else {
return cache.match(storageUrl).then(function(response) {
if (response) {
return response;
} else {
return fetch(request).then(function(networkResponse) {
if(networkResponse.ok == true){
cache.put(storageUrl, networkResponse.clone());
}
return networkResponse;
}).catch(function(error) {
return fallPosBackResponse('css');
});
} …Run Code Online (Sandbox Code Playgroud) JavaScript 和我正在从https://picsum.photos加载随机图像,但它不起作用。请注意,目前我不想在 next.js 中使用新的图像优化。本地图像有效,但外部图像无效。下面是我的代码和 next.config.js
<Slider
{...settingsThumbs}
asNavFor={nav1}
ref={slider => setSlider2(slider)}
>
{slidesData.map(slide => (
<div className='slick-slide' key={slide.id}>
<img
className='slick-slide-image'
src={`https://picsum.photos/800/400?img=${slide.id}`}
alt='sfd'
/>
</div>
))}
</Slider>
Run Code Online (Sandbox Code Playgroud)
下面是我的 next.js 配置
module.exports = {
images: {
domains: ['https://picsum.photos/']
}
};
Run Code Online (Sandbox Code Playgroud) 所以我在npm install xyz另一个 npm 模块的 postinstall npm 钩子调用的脚本中运行。(让我们不要深入探讨为什么,但这与 npm 不支持的可选依赖项有关)
npm install moduleA
-> installing moduleA
-> running postinstall hook (my script)
-> my script runs npm install xyz
Run Code Online (Sandbox Code Playgroud)
当我运行脚本本身时,npm install 运行得相当快,但是当我在 postinstall 挂钩中安装模块时,脚本会等待锁定文件至少 1 分钟。(或者我假设)
当我在 npm 中启用详细日志级别时,我得到如下输出:
[a lot more lines above]
npm verb addNamed "latest" is being treated as a dist-tag for invert-kv
npm info addNameTag [ 'invert-kv', 'latest' ]
npm verb addNameTag registry:https://registry.npmjs.org/invert-kv already in flight; waiting
npm verb addNamed "1.0.0" is a plain …Run Code Online (Sandbox Code Playgroud) I used to compile and insert JSX components via
<div key={ ID } dangerouslySetInnerHTML={ { __html: HTML } } />
Run Code Online (Sandbox Code Playgroud)
which wrapped my HTML into a <div>:
<div>my html from the HTML object</div>
Run Code Online (Sandbox Code Playgroud)
Now react > 16.2.0 has support for Fragments and I wonder if I can use that somehow to avoid wrapping my HTML in a <div> each time I get data from the back end.
Running
<Fragment key={ ID } dangerouslySetInnerHTML={ { __html: HTML } } /> …Run Code Online (Sandbox Code Playgroud)