我有一个JSON数组对象,我试图转换为YAML.
{"AAPL": [
{
"shares": -75.088,
"date": "11/27/2015"
},
{
"shares": 75.088,
"date": "11/26/2015"
},
]}
Run Code Online (Sandbox Code Playgroud)
YAML中是否有等效的表示形式,而不仅仅是JSON?我想做点什么
AAPL:
- :
shares: -75.088
date: 11/27/2015
- :
shares: 75.088
date: 11/26/2015
Run Code Online (Sandbox Code Playgroud)
但我提出的最干净的事情是
AAPL:
- {
shares: -75.088,
date: 11/27/2015
}
{
shares: 75.088,
date: 11/26/2015
}
Run Code Online (Sandbox Code Playgroud) 对于我来说,这在Python 2.7.6和3.3.3中会发生.当我定义这样的类时
class foo:
def __getitem__(self, *args):
print(*args)
Run Code Online (Sandbox Code Playgroud)
然后尝试在一个实例上迭代(以及我认为会称之为iter),
bar = foo()
for i in bar:
print(i)
Run Code Online (Sandbox Code Playgroud)
它只是为一个args计算,并永远打印无.就语言设计而言,这是故意的吗?
样本输出
0
None
1
None
2
None
3
None
4
None
5
None
6
None
7
None
8
None
9
None
10
None
Run Code Online (Sandbox Code Playgroud) 我有一个如下循环:
const bar = {a: 1, b: 2}
for (const k in bar) { //Throws in Firefox but not Chrome 54
console.log(k)
}
Run Code Online (Sandbox Code Playgroud)
这是一个错误吗?或者规格中的灰色区域?
我有一个非常简单的cat函数,用Rust 1.0 alpha编写.
use std::io;
fn main(){
let mut reader = io::stdin();
loop {
let input = reader.read_line().ok().expect("Failed to read line");
print!("{}", input);
}
}
Run Code Online (Sandbox Code Playgroud)
当我编译它时,我收到以下警告:
bindings.rs:5:26: 5:35 warning: use of unstable item, #[warn(unstable)] on by default
bindings.rs:5 let mut reader = io::stdin();
^~~~~~~~~
bindings.rs:6:28: 6:39 warning: use of unstable item, #[warn(unstable)] on by default
bindings.rs:6 let input = reader.read_line().ok().expect("Failed to read line");
^~~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)
有没有办法补救这些警告?
我有一对requirejs插件,我想用webpack加载器替换它.
define('firstLoader', {
load: function (name, parentRequire, onload, config) {
var xhr = new XMLHttpRequest();
xhr.addEventListener('load', function () {onload(this.responseText);});
xhr.addEventListener('error', onload.error);
xhr.addEventListener('abort', onload.error);
var url = '...' + name;
xhr.open('GET', url);
xhr.send()
}
})
define('jsonLoader', {
load: function (name, parentRequire, onload, config) {
//This is the nasty part.
req(['firstLoader!' + name], function (text) {
try {
onload(JSON.parse(text));
}
catch (err) {
onload.error(err);
}
})
}
});
Run Code Online (Sandbox Code Playgroud)
最大的问题是缺乏对异步请求和动态需求的承诺.有没有解决方法没有转换(使用`System.load)或其他库(蓝鸟等)?
所以我对此采取了一个措施,现在我收到了一个错误
Module not found: Error: Can't resolve 'future/url'
当我去的时候require('jsonLoader!future/url').webpack是否允许加载器在运行时运行?这是更新的代码.
firstPlugin.js …
我知道Rust可以使用轻量级线程运行循环.就像是:
use task::spawn;
fn main() {
for 100.times {
do spawn {
io::println("Hello");
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么能在D?
我一直在想象一个非常大的语料库.每个Unigram可以多次出现在多个注释中.我将Comment.ids存储在一个列表中,该列表附加到数据库中的Unigram,每250K新计算的unigrams左右.我想知道的是,如果有一种方法可以扩展注释ID列表 - 或类似的数据结构 - 而无需查询和加载与Unigram绑定的现有注释列表(它可以在数千个中编号).或者缓慢的IO没有办法吗?
这是我的型号代码:
comments = db.Table('ngrams',
db.Column('unigram_id', db.String, db.ForeignKey('comment.id')),
db.Column('comment_id', db.String, db.ForeignKey('unigram.id')))
class Unigram(db.Model):
id = db.Column(db.String, primary_key=True, unique=True)
times_occurred = db.Column(db.Integer)
occurs_in = db.relationship('Comment', secondary=comments,
backref=db.backref('unigrams', lazy='dynamic'))
class Comment(db.Model):
id = db.Column(db.String, primary_key=True, unique=True)
creation_time = db.Column(db.DateTime)
Run Code Online (Sandbox Code Playgroud)
以及在以下位置添加新计数和Comment.ids的代码:
current = Unigram.query.filter(Unigram.id == ngram).first()
if current:
current.times_occurred += counts[ngram]['count']
current.occurs_in.extend(counts[ngram]['occurences'])
else:
current = Unigram(ngram, counts[ngram]['count'],
counts[ngram]['occurences'])
db.session.add(current)
Run Code Online (Sandbox Code Playgroud) 我最近尝试自动将字体的WOFF编码转换为WOFF2.在Windows 8和Mac OS 10.12上,WOFF2在Chrome 60,IE 11和Firefox 55之间渲染得非常接近.WOFF2在Windows 7上的Chrome中呈现非常糟糕,但WOFF似乎没有遇到同样的问题.Firefox中的WOFF2似乎正确呈现.
Mac OS 10.12,Safari
Windows 7,Chrome 60
注意1和7是如何向下移动的.
-webkit-font-smoothing设置为抗锯齿.
这是一个已知的问题?
我正在尝试从F#的区分联合转换为字符串序列化而不是默认的"Case":[value]".能够再次反序列化值不是问题.也许可以使用Json.NET ?
// Fsharp 4.1.0
open Newtonsoft.Json // 10.0.3
type HowLame =
| PrettyLame
| SuperLame
type Lame = {
howLame: HowLame;
}
[<EntryPoint>]
let main argv =
let lame = { howLame = PrettyLame }
let ser = JsonConvert.SerializeObject(lame)
// {"soLame":{"Case":"PrettyLame"}} by default
printfn "%s" ser
// Desired
assert (ser = """{"soLame":"PrettyLame"}""")
0 // return an integer exit code
Run Code Online (Sandbox Code Playgroud) 我有一个前端构建,它使用 Dockerfile 的变体进行多个步骤:开发、CI(使用 Jenkins)和生产。我不想连续下载用于 CI 和生产构建映像的 node_modules(这两者都在同一个盒子上连续发生)。Dev 的 node_modules 托管在一个卷上,以降低重新启动开发容器的开销。
这三个阶段都共享同一个.dockerignore文件,其中有一行不包括node_modules. 是否可以通过类似的方式添加 node_modules COPY node_modules/* node_modules/?我徒劳地寻找在 CI 和生产构建的构建部分期间使用绑定安装的方法。这似乎是不可能的。
json ×2
python ×2
rust ×2
amd ×1
arrays ×1
const ×1
d ×1
docker ×1
dockerfile ×1
ecmascript-6 ×1
f# ×1
firefox ×1
fonts ×1
glob ×1
io ×1
javascript ×1
jenkins ×1
json.net ×1
loader ×1
many-to-many ×1
node-modules ×1
orm ×1
python-2.7 ×1
python-3.x ×1
sql ×1
types ×1
webpack ×1
windows-7 ×1
woff ×1
woff2 ×1
yaml ×1