小编Ult*_*rus的帖子

如何在x轴上显示nvd3/d3.js的日期?

我正在使用nvd3,但我认为这是关于时间尺度和格式的一般d3.js问题.我创建了一个简单的例子来说明问题(参见下面的代码):

如果我省略了针对xAxis的.tickFormat,它可以在没有日期格式的情况下正常工作.通过下面的示例我得到错误:

未捕获的TypeError:对象1326000000000没有方法'getMonth'

nv.addGraph(function() {

    var chart = nv.models.lineChart();

    chart.xAxis
         .axisLabel('Date')
         .rotateLabels(-45)
         .tickFormat(d3.time.format('%b %d')) ;

     chart.yAxis
         .axisLabel('Activity')
         .tickFormat(d3.format('d'));

     d3.select('#chart svg')
         .datum(fakeActivityByDate())
       .transition().duration(500)
         .call(chart);

     nv.utils.windowResize(function() { d3.select('#chart svg').call(chart) });

     return chart;
});

function days(num) {
    return num*60*60*1000*24
}

/**************************************
 * Simple test data generator
 */

function fakeActivityByDate() {
    var lineData = [];
    var y = 0;
    var start_date = new Date() - days(365); // One year ago

    for (var i = 0; i < 100; i++) {
        lineData.push({x: new Date(start_date + …
Run Code Online (Sandbox Code Playgroud)

d3.js nvd3.js

50
推荐指数
2
解决办法
5万
查看次数

在初始化所有存储属性之前使用'self'

当我学习语言时,我正在通过学习 - 快速操场并将其升级到Swift 2.0.下面的代码(可能与之前版本的Swift一起工作)现在产生两个错误:"在初始化所有存储属性之前使用'self'"和在初始化之前使用"Constant'self.capitalCity"

class Country
{
    let name: String
    let capitalCity: City!

    init(name: String, capitalName: String)
    {
        self.name = name
        self.capitalCity = City(name: capitalName, country: self)
    }
}

class City
{
    let name: String
    unowned let country: Country

    init(name: String, country: Country)
    {
        self.name = name
        self.country = country
    }
}
Run Code Online (Sandbox Code Playgroud)

阅读类似问题答案我看到我可以改为let capitalCity: City!,var capitalCity: City!语法错误得到解决.

我意识到,在这个人为的例子中,一个国家的首都可以改变,所以这样会很好,但如果有一个案例的价值确实是一个常数......

有没有办法解决语法错误,同时保持capitalCity不变?

initialization swift swift2

23
推荐指数
3
解决办法
1万
查看次数

使用带铁的防锈网箱

是否可以使用带铁的防锈网袋,或者将两者一起使用没有意义?

如果有可能,我怎么能意识到呢?

iron websocket rust

9
推荐指数
1
解决办法
1675
查看次数

带有p的点表示法,用于swift中的十六进制数字文字

我正在 使用XCode 在https://github.com/nettlep/learn-swift中完成第一个基本操场

这个表达到底发生了什么?

0xC.3p0 == 12.1875
Run Code Online (Sandbox Code Playgroud)

我已经了解了十六进制文字和特殊的"p"符号,它表示2的幂.

0xF == 15

0xFp0 == 15   //  15 * 2^0
Run Code Online (Sandbox Code Playgroud)

如果我尝试0xC.3我得到错误:十六进制浮点文字必须以指数结束.

我发现了数字文字的这个很好的概述另一个深刻的解释,但我没有看到解释是什么的东西.3p0.

我已经将代码分叉并将本课程升级到XCode 7/Swift 2 - 这是具体的一行.

swift

7
推荐指数
1
解决办法
619
查看次数

在Swift中,这个特定的语法是什么意思?

我一直在尝试按照一些iOS Swift教程连接到Parse.com

codementor.io教程:

  loginViewController.fields = .UsernameAndPassword | .LogInButton | .PasswordForgotten | .SignUpButton | .Facebook | .Twitter
Run Code Online (Sandbox Code Playgroud)

制作学校教程

  loginViewController.fields = [.UsernameAndPassword, .LogInButton, .SignUpButton, .PasswordForgotten, .Facebook]
Run Code Online (Sandbox Code Playgroud)

我假设前者是Switch 1.x,而thelatter是Swift 2.从上下文看,它们看起来是做同样的事情,但我还没有找到语法变化的语言参考.非常难以搜索点,管道和逗号......有人可以解释每个片段中的语法吗?(我正在阅读语言规范,但实际上让应用程序工作会很有趣!)

parse-platform swift

6
推荐指数
1
解决办法
196
查看次数

令人困惑的借用检查器消息:“终生不匹配”

我最近遇到了一条我从未见过的借用检查器消息,我试图理解它。这是重现它的代码(简化的,现实生活中的例子更复杂)-操场

fn foo(v1: &mut Vec<u8>, v2: &mut Vec<u8>, which: bool) {
    let dest = if which { &mut v1 } else { &mut v2 };
    dest.push(1);
}
Run Code Online (Sandbox Code Playgroud)

它无法编译并出现以下错误:

error[E0623]: lifetime mismatch
 --> src/main.rs:2:44
  |
1 | fn foo(v1: &mut Vec<u8>, v2: &mut Vec<u8>, which: bool) {
  |            ------------      ------------ these two types are declared with different lifetimes...
2 |     let dest = if which { &mut v1 } else { &mut v2 };
  |                                            ^^^^^^^ ...but data from …
Run Code Online (Sandbox Code Playgroud)

rust borrow-checker rust-lifetimes

6
推荐指数
1
解决办法
172
查看次数

理解错误:特性 `futures::future::Future` 没有为 `()` 实现

这个问题是关于如何阅读 Rust 文档并提高我对 Rust 的理解,从而了解如何解决这个特定的编译器错误。

我已经阅读了tokio 文档并尝试了许多示例。在编写自己的代码时,我经常遇到我不理解的编译器错误,并且经常发现我可以修复代码,但不明白为什么需要特定的语法。

我复制了一个基于 tokio 的hello world的非常简单的例子:

use futures::Future;
use tokio::net::TcpStream;
use tokio::prelude::*;

fn main() {
  let addr = "127.0.0.1:6142".parse().unwrap();

  let client = TcpStream::connect(&addr).and_then(|stream| {
      println!("created stream");
      // Process stream here.

      // Ok(())
  });

}
Run Code Online (Sandbox Code Playgroud)

上面的代码不正确,需要注释掉Ok()。我知道这是真的,但不知道为什么。这可能是之前问题的另一半如何解释 read_until 的签名以及 Tokio 中的 AsyncRead + BufRead 是什么?- 现在我更好地理解闭包,但不能完全解析文档以理解预期的返回值。

当我尝试编译上面不正确的代码时,出现以下错误:

error[E0277]: the trait bound `(): futures::future::Future` is not satisfied
 --> tokio-chat-client/src/main.rs:8:42
  |
8 |   let client = TcpStream::connect(&addr).and_then(|stream| …
Run Code Online (Sandbox Code Playgroud)

rust rust-tokio

5
推荐指数
1
解决办法
4266
查看次数

使用 html-pdf 创建 pdf 时出错

尝试在节点 js 中使用 html-pdf 生成 pdf,但在某些记录后出现以下错误:

TypeError: Cannot read property 'on' of undefined`

events.js:183
      throw er; // Unhandled 'error' event
      ^
Error: spawn /usr/local/lib/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs EAGAIN
Run Code Online (Sandbox Code Playgroud)

代码:

    const filePathName = path.join(__dirname, '../../../views/', "invoice.ejs");
    const htmlString = fs.readFileSync(filePathName).toString();
    let options = { format: 'Letter',"timeout": 600000 };
    const ejsData = ejs.render(htmlString, data);

    return pdf.create(ejsData, options).toFile(path.join(__dirname, '../../../tmp/', data.filename), (err, response) => {
      if (err) return console.log('err',err);
      return response;
    });
Run Code Online (Sandbox Code Playgroud)

ejs node.js phantomjs html-pdf

5
推荐指数
1
解决办法
126
查看次数

在 Rust 中将结构的 Vec 映射到结构的另一个 Vec,无需克隆

我使用具有以下结构的库:

struct KeyValue1 {
    key: Vec<u8>,
    value: Vec<u8>,
}

fn get() -> Vec<KeyValue1> { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

我需要将此向量转换为具有以下结构的几乎相似的向量:

struct KeyValue2 {
    key: Vec<u8>,
    value: Vec<u8>,
}
Run Code Online (Sandbox Code Playgroud)

为了能够从一个向量转换为另一个向量,我目前使用以下代码:

let convertedItems = items.iter().map(|kv| -> KeyValue2{
  key: key.clone(),
  value: value.clone()
}).collect()
Run Code Online (Sandbox Code Playgroud)

虽然这有效,但它克隆了两个载体,效率很低。我不再需要原始items向量,因此我想将所有权从 转移KeyValue1KeyValue2,但我还没有找到方法来做到这一点。

struct closures iterator rust map-function

4
推荐指数
1
解决办法
2999
查看次数

向 info.plist 添加了自定义键,当我从 Swift 中的 Playground 访问时,它是 nil

使用 Xcode 7.2(在 Yosemite 上),我似乎无法从游乐场访问 info.plist 中的自定义密钥:

import UIKit
var str = "Hello, playground"
let app_id = NSBundle.mainBundle().infoDictionary?["MyAppID"] as? String
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,app_id 为 nil。我期望它是字符串“TEST”

我将它包含在我的 info.plist 中,如下所示:

在此输入图像描述

游乐场是否有一些我没有读过的限制?

如果我打印所有密钥,则我的自定义密钥丢失:

let dict = NSBundle.mainBundle().infoDictionary!
for k in dict.keys {
  print("\(k)")
}
Run Code Online (Sandbox Code Playgroud)

打印以下内容:

DTSDKName
CFBundleIdentifier
CFBundleSupportedPlatforms
CFBundleInfoDictionaryVersion
LSRequiresIPhoneOS
CFBundleNumericVersion
DTPlatformName
CFBundleShortVersionString
CFBundleVersion
UIViewControllerBasedStatusBarAppearance
UIRequiredDeviceCapabilities
UIStatusBarHidden
CFBundlePackageType
UIDeviceFamily
CFBundleExecutable
CFBundleInfoPlistURL
LSBackgroundOnly
CFBundleName
CFBundleDevelopmentRegion
Run Code Online (Sandbox Code Playgroud)

如果我查看捆绑包名称,如下所示:

let name = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleName") as? String
Run Code Online (Sandbox Code Playgroud)

我看到了游乐场的名称,而不是工作区的名称。我可以获取该项目的 info.plist 吗?

plist swift xcode7

3
推荐指数
1
解决办法
3132
查看次数

什么是 aa 元组变体?(了解编译器错误消息)

使用wasm_bindgenwith serde,我尝试JsValue使用惯用的 rust 返回一个复杂的结构。我创建了一个单独的示例来说明我所看到的错误。

结构声明:

#[derive(Serialize)]
pub struct BookStoreData {
    pub h: HashMap<String, String>,
    pub name: String,
}
Run Code Online (Sandbox Code Playgroud)

函数定义:

#[wasm_bindgen]
pub fn hello_hash(count: i32) -> Result<JsValue, JsValue> {
    set_panic_hook();
    let mut book_reviews = HashMap::new();

    book_reviews.insert(
        "Grimms' Fairy Tales".to_string(),
        "Masterpiece.".to_string(),
    );
    let data = BookStoreData {
        h: book_reviews,
        name: "My Book Store".to_string(),
    };

    let js_result: JsValue = JsValue::from_serde(&data).unwrap();

    OK(js_result)    

}
Run Code Online (Sandbox Code Playgroud)

我收到此编译错误:

error[E0425]: cannot find function `OK` in this scope
  --> src/hello_whatever.rs:46:5
   |
46 |     OK(js_result)    
   | …
Run Code Online (Sandbox Code Playgroud)

rust wasm-bindgen

1
推荐指数
1
解决办法
4682
查看次数

如何使用结构和实现的生命周期为实现推断合适的生命周期?

如何解决此错误?当我在impl.

struct LineHandlerInfo<'a> {
    label: &'a str,
    match_literal: &'a str,
    f: fn(&str) -> Option<&str>,
}

struct Game<'a> {
    handlers: Vec<LineHandlerInfo<'a>>,
}

impl Game<'_> {
    fn match_str<'a>(
        &'a mut self,
        label: &'a str,
        match_literal: &'a str,
        mut f: fn(&str) -> Option<&str>,
    ) {
        let mut lh = LineHandlerInfo {
            label,
            match_literal,
            f,
        };
        self.handlers.push(lh);
    }
}

fn main() {
    let mut g = Game {
        handlers: Vec::new(),
    };
    g.match_str("echo hello", "hello", |s| {
        println!("{}", s);
        None
    });
}

Run Code Online (Sandbox Code Playgroud)

当我尝试编译时,出现以下错误: …

lifetime rust

1
推荐指数
1
解决办法
1171
查看次数