小编Woo*_*odz的帖子

使用 TypeScript 响应 prop 类型 - 如何拥有函数类型?

是否有使用 TypeScript 的 React prop 类型的函数类型的最佳实践?

我认为这会起作用,但实际上它出错了:

type Props = {
  onClick: Function
};

const Submit = ({ onClick }: Props) => {
  return (
    <button type="button" onClick={onClick}>
      click me
    </button>
  );
Run Code Online (Sandbox Code Playgroud)

按照这个线程我让它工作了,但它似乎不必要地冗长:https : //github.com/Microsoft/TypeScript/issues/20007

type Props = {
  onClick: (...args: any[]) => any;
};

const Submit = ({ onClick }: Props) => {
  return (
    <button type="button" onClick={onClick}>
      click me
    </button>
  );
Run Code Online (Sandbox Code Playgroud)

typescript reactjs

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

从Azavea Numeric获取隐式scala数字

我使用Azavea Numeric Sc​​ala库进行通用数学运算.但是,我不能将它们与Scala Collections API一起使用,因为它们需要一个scala Numeric,看起来好像两个Numerics是互斥的.有什么方法可以避免重新实现对Azavea Numeric的Scala Collections的所有数学运算,除了要求所有类型都有Numerics的上下文边界?

import Predef.{any2stringadd => _, _}

class Numeric {
  def addOne[T: com.azavea.math.Numeric](x: T) {
    import com.azavea.math.EasyImplicits._
    val y = x + 1 // Compiles

    val seq = Seq(x)
    val z = seq.sum // Could not find implicit value for parameter num: Numeric[T]
  }
}
Run Code Online (Sandbox Code Playgroud)

Azavea Numeric定义为

trait Numeric[@scala.specialized A] extends java.lang.Object with 

com.azavea.math.ConvertableFrom[A] with com.azavea.math.ConvertableTo[A] with scala.ScalaObject {
   def abs(a:A):A
   ...remaining methods redacted...
}

object Numeric {
  implicit object IntIsNumeric extends IntIsNumeric
  implicit …
Run Code Online (Sandbox Code Playgroud)

generics scala numeric

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

Scala - 可以在方法级别应用implicitNotFound注释吗?

我有一个方法,它采用带有隐式视图边界的类型参数.使用无效数据类型调用方法时,是否可以使用@implicitNotFound批注来提供更好的编译器错误?

该方法的文档是无用的,甚至源代码也无济于事,所有在线使用的例子都处于特征或类级别.

annotations scala implicit

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

要复制到Windows共享(SMB)的Ant任务

是否有一个ant任务(类似于ftp或scp任务)允许我将一组文件复制到windows(smb)共享?

编辑:我必须使用jcifs创建一个任务.如果有人需要它,这里是代码.

取决于jcifs和apache ioutils.

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import jcifs.smb.SmbFile;

import org.apache.commons.io.IOUtils;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.taskdefs.Copy;

public class SmbCopyTask extends Task
{
   private File src;
   private String tgt;

   public void execute() throws BuildException
   {
      try
      {
         recursiveCopy(src);
      }
      catch (Exception e)
      {
         throw new BuildException(e);
      }
   }

   public void recursiveCopy(File fileToCopy) throws IOException
   {

      String relativePath = src.toURI().relativize(fileToCopy.toURI()).getPath();
      SmbFile smbFile = new SmbFile(tgt, relativePath);
      if(!smbFile.exists()) 
      {
         smbFile.createNewFile();
      }
      if(!fileToCopy.isDirectory()) 
      {
         System.out.println(String.format("copying %s to %s", new Object[]{fileToCopy, …
Run Code Online (Sandbox Code Playgroud)

java ant smb

5
推荐指数
0
解决办法
7444
查看次数

如何获取路径依赖类型的类标签

我有一个需要 ClassTag 的抽象路径依赖类型。有没有比手动为每个具体派生类手动拉取隐式更好的方法?

trait Foo {
  type A // : ClassTag // Need the ClassTag of A later
  val ctA: ClassTag[A] // But can't put a context-bound on the type
}

class IntFoo extends Foo {
  type A = Int
  val ctA = implicitly[ClassTag[Int]]
}

class StringFoo extends Foo {
  type A = String
  val ctA = implicitly[ClassTag[String]]
}
Run Code Online (Sandbox Code Playgroud)

scala path-dependent-type

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

SBT 0.13.8 SettingKey.~= 方法有什么作用

SettingKey.~= 方法用于从 libraryDependencies 中排除依赖项(参见play 2.3.8 sbt ,不包括 logback),但试图找出它的作用很难,因为:

  1. http://www.scala-sbt.org/0.13.12/api/index.html#sbt.SettingKey 上没有关于此功能的文档,
  2. 无法使用 Google 进行搜索,因为它在方法名称中使用了符号,并且
  3. 检查 SBT 源代码 ( https://github.com/sbt/sbt/blob/0.13/main/settings/src/main/scala/sbt/Structure.scala#L47 ) 没有提供明显的答案。

任何人都可以阐明这是什么?

scala sbt sbt-0.13

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

Scala collection.mutable.Cloneable目的

在尝试克隆可变集合时,我最初的方法是在mutable.Cloneable特征上使用clone()方法.但是,这遵循java.Object.clone实现,该实现创建引用的副本,而不是深层副本.从测试中,我可以确认可变.{Queue,Seq,Set}所有浅拷贝.

我已经采用原始的新xxx(copy:_*)方法来创建一个深层副本,但我的问题是mutable.Cloneable特性的目的是什么,如果它没有实现?

scala mutable cloneable

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