小编Vit*_*uel的帖子

对于`chrono :: DateTime <chrono :: Utc>,没有实现特性`std :: ops :: Add <std :: time :: Duration>`

extern crate chrono;
use chrono::{DateTime, Utc};
use std::time::Duration;

pub fn after(start: DateTime<Utc>) -> DateTime<Utc> {
    start + Duration::from_secs(1)
}
Run Code Online (Sandbox Code Playgroud)

失败了:

error[E0277]: cannot add `std::time::Duration` to `chrono::DateTime<chrono::Utc>`
 --> src/lib.rs:7:11
  |
7 |     start + Duration::from_secs(1_000_000_000)
  |           ^ no implementation for `chrono::DateTime<chrono::Utc> + std::time::Duration`
  |
  = help: the trait `std::ops::Add<std::time::Duration>` is not implemented for `chrono::DateTime<chrono::Utc>`
Run Code Online (Sandbox Code Playgroud)

我找不到Add要导入的实现.use chrono::*没有用.

我看到它datetime.rs有一个impl Add<chrono::oldtime::Duration>,但是oldtime是私有的,所以我不知道如何创建一个oldtime::Duration.

我如何得到Add我需要的impl?我如何转换std::time::Duration为chrono::oldtime::Duration?有什么我可以导入隐式转换?

我正在使用 rustc 1.25.0 (84203cac6 2018-03-25)

rust rust-chrono

3
推荐指数
2
解决办法
315
查看次数

什么时候需要 Shapeless 中的依赖类型?

据我了解,依赖类型允许您不指定输出类型:

例如,如果您有一个类型类:

trait Last[In] {
  type Out
}
Run Code Online (Sandbox Code Playgroud)

那么你可以在不指定输出类型的情况下召唤一个实例:

implicitly(Last[String :: Int :: HNil]) // output type calculated as Int
Run Code Online (Sandbox Code Playgroud)

Aux 模式允许您再次指定输出类型:

implicitly(Last.Aux[String :: Int :: HNil, Int])
Run Code Online (Sandbox Code Playgroud)

您需要在隐式参数列表中使用它,以便对输出类型做一些有用的事情(解决 Scala 对依赖类型的限制)。

但是如果你总是需要指定(或分配一个类型参数)输出类型,为什么首先要使用依赖类型(然后是 Aux)呢?

我尝试Last从 Shapeless 的 src复制类型类,替换type Out为特征中的附加类型参数并删除 Aux。它仍然有效。

当我真正需要它们时是什么情况?

scala dependent-type shapeless

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

Oracle JDBC连接被拒绝(仅来自jdbc代码)

Connection refused当我尝试连接到远程Oracle数据库时,我得到了.

我可以成功telnet到相同的IP地址和端口,我甚至可以Database使用相同的凭据通过SQL Developer或IntelliJ Idea的选项卡进行连接,但是当我从我的代码中尝试它时,我得到了异常.

注意:我使用的是Ubuntu,IntelliJ IDEA,Tomcat 7,Oracle JDBC Driver v7.0.

以下独立代码抛出相同的异常:

public static void main(String[] argv) {

    System.out.println("-------- Oracle JDBC Connection Testing ------");

    try {

        Class.forName("oracle.jdbc.driver.OracleDriver");
    } catch (ClassNotFoundException e) {
        System.out.println("Where is your Oracle JDBC Driver?");
        e.printStackTrace();
        return;
    }

    System.out.println("Oracle JDBC Driver Registered!");

    Connection connection = null;

    try {
        connection = DriverManager.getConnection(
                "jdbc:oracle:thin:10.1.1.27:1521:xe", "user", "password");
    } catch (SQLException e) {
        System.out.println("Connection Failed! Check output console");
        e.printStackTrace();
        return;
    }

    if (connection != null) {
        System.out.println("You made …
Run Code Online (Sandbox Code Playgroud)

oracle jdbc connectexception

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

使用ACTION_SEND打开共享对话框以共享文件

我知道如何使用ACTION_SEND共享文本.

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "Download Link https://play.google.com/store/apps/details?id=com.mtracker2051");
sendIntent.setType("text/plain");
startActivity(Intent.createChooser(sendIntent, "Share This App"));
Run Code Online (Sandbox Code Playgroud)

我想使用ShareDialog共享文本文件.我该怎么做.

我在这里阅读了 http://developer.android.com/training/sharing/send.html, 但是这个链接并没有多大帮助.

android

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

如何在 GSON 上设置区域设置(用于十进制数字分隔符)

我知道您可以设置日期格式,但是如何设置其他特定于区域设置的内容,例如十进制数字格式?(我的意思是逗号与点)

locale decimalformat gson

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