在像OCaml这样的函数式语言中,我们有模式匹配.例如,我想在我的网站上记录用户的操作.一个动作可以是1)访问网页,2)删除项目,3)检查另一个用户的简档等.在OCaml中,我们可以写如下内容:
type Action =
| VisitPage of string (* www.myweb.com/help *)
| DeletePost of int (* an integer post id *)
| ViewUser of string (* a username *)
Run Code Online (Sandbox Code Playgroud)
但是,我不确定如何Action在JavaScript中定义它.我能想象的一种方式是
var action_1 = { pageVisited: "www.myweb.com/help", postDeleted: null, userViewed: null }
var action_2 = { pageVisited: null, postDeleted: 12345, userViewed: null }
var action_3 = { pageVisited: null, postDeleted: null, userViewed: "SoftTimur" }
Run Code Online (Sandbox Code Playgroud)
但是这种结构并没有表达出来pageVisited,postDeleted并且userViewed在它们中是排他性的.
任何人都可以在JavaScript中提出更好的代表吗?
有没有在JavaScript或TypeScript中进行模式匹配的常用方法?
我想构建一个由 CDN 提供商加速的服务器,为我的其他网站提供静态文件。我决定使用https://www.funfun.org.cn,然后例如https://www.funfun.org.cn/libs/font-awesome.min.css和https://www.funfun.org .cn/libs/octicons.min.css应该可以被其他网站使用。
但是,当我通过本地主机中的网站测试此服务器时,我看到以下错误:
例如,
从源“ https://localhost:3000 ”访问“ https://www.funfun.org.cn/libs/octicons.woff ”上的字体已被 CORS 策略阻止:无“Access-Control-Allow-Origin” ' 标头存在于所请求的资源上。因此,不允许访问来源“ https://localhost:3000 ”。
https://www.funfun.org.cn/fonts/fontawesome-webfont.woff2?v=4.4.0其他错误与和类似https://www.funfun.org.cn/libs/octicons.ttf,等等。
在我的网站中,上面的文件没有直接调用,我只有以下两行关于字体的内容,它们必须调用.ttf和.woff2等。
<link rel="stylesheet" href="https://www.funfun.org.cn/libs/font-awesome.min.css">
<link rel="stylesheet" href="https://www.funfun.org.cn/libs/octicons.min.css">
Run Code Online (Sandbox Code Playgroud)
那么,有谁知道我可以做些什么来修复这些错误?
PS:我的nginx配置文件如下,所有文件都在 和/var/www/html/libs/下/var/www/html/fonts/。
server {
listen 443 ssl;
ssl_certificate /etc/nginx/cert/1530490648293.pem;
ssl_certificate_key /etc/nginx/cert/1530490648293.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_session_timeout 1d;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;
root /var/www/html;
server_name funfun.org.cn www.funfun.org.cn;
location / …Run Code Online (Sandbox Code Playgroud) 在 JavaScript 中,我有包含换行符的字符串,例如var s = "123\n456"或var s = "123\r\n456"。
使用console.log(s),浏览器的开发工具在控制台中显示真正的换行符。
我想知道如何按字面打印字符串。例如,我想在开发工具或浏览器中查看123\n456或。123\r\n456
有人可以帮忙吗?
我们是两名开发Ocaml项目的开发人员.似乎Subversion的版本控制是有用的和实用的.我想寻找非常基本和简单的工具,谁能告诉我从哪里开始?我们正在使用Linux,我使用的是Ubuntu.
非常感谢你!
编辑1:我在Emacs下编码Ocaml,所以更喜欢周围的工具......
我正在寻找关于Scheme类型的标准文档.例如,As类型不需要在程序中明确指定,我不知道它是bool或boolean; LIST或LISTE; int或Nat; List[]还是List[alpha]......
另一个小问题是如何定义"原子表达".例如,是'(1 2 3)一个原子表达式?
在1周内,尝试在Chrome中打开Excel Online时出现以下错误,而Safari中的Excel Online则有效.有谁知道如何修理它?
登入
出了点问题我们现在无法签你.请稍后再试.
Microsoft帐户登录服务器检测到太多重复的身份验证尝试.请稍等片刻再试一次.
我正在尝试使用pipl.我想从邮件中获取信息并将其保存到Excel文件中.
from piplapis.search import SearchAPIRequest
from piplapis.search import SearchAPIError
from openpyxl import load_workbook
request = SearchAPIRequest(email=u'clark.kent@example.com', api_key='......')
try:
response = request.send()
except SearchAPIError as e:
print e.http_status_code, e
filename = "mails.xlsx"
wb = load_workbook(filename = filename)
ws = wb['Sheet1']
Run Code Online (Sandbox Code Playgroud)
print(response.raw_json) 回报
{
"@http_status_code": 200,
"@visible_sources": 3,
"@available_sources": 3,
"@persons_count": 1,
"@search_id": "0",
"query": {
"emails": [
{
"address": "clark.kent@example.com",
"address_md5": "2610ee49440fe757e3cc4e46e5b40819"
}
]
},
"available_data": {
"premium": {
"relationships": 6,
"usernames": 2,
"jobs": 3,
"addresses": 2,
"ethnicities": 3, …Run Code Online (Sandbox Code Playgroud) javascript ×2
ocaml ×2
ascii ×1
cdn ×1
cors ×1
excel ×1
font-awesome ×1
json ×1
lisp ×1
ms-office ×1
nginx ×1
object ×1
octicons ×1
office365 ×1
python ×1
python-2.7 ×1
scheme ×1
svn ×1
types ×1
typescript ×1