小编tha*_*_DG的帖子

功能类型之间的子类型

在课程函数式编程课程中,我遇到了一个微妙的概念.

如果A2 <:A1B1 <:B2,则(A1 => B1)<:( A2 => B2)

理由

  • 当我们将参数传递给A2并且由于子类型关系时,我们可以将相同的参数传递给A1.
  • 然后应用函数A1 => B1
  • 然后该函数给出B1,因为子类型符合B2

如果我们为此画一个维恩图,

  • 图1 图1

  • 图2 图2

    • 这是正确的图表?
    • 如何使用维恩图解释结果?

参考:Youtube视频

谢谢

functional-programming scala generic-variance

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

类中的私有接口

在这里,我遇到了这句话:

实现私有接口是强制在该接口中定义方法而不添加任何类型信息(即不允许任何向上转换)的方法.

我发现很难理解这一点.有人可以帮我解释一下吗?

java oop interface software-design

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

Firebase服务帐户凭据Json读取权限被拒绝

我从Firebase控制台下载了我的服务帐户凭据json文件,将它放在GAE端点项目的主目录中,当我在本地运行它时,它会给出安全性异常.

java.security.AccessControlException: access denied ("java.io.FilePermission" "\src\main\secret.json" "read")
Run Code Online (Sandbox Code Playgroud)

我尝试将.json文件放在src目录下,但没有帮助.

google-app-engine android json google-cloud-endpoints firebase-realtime-database

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

动态填充一组案例类的某些属性

  • 我有一组模型类,这些模型的子集有2个称为createdBy和的属性modifiedBy
  • 我只需要为具有那些属性的那些对象填充那些属性。目前,我正在以与某些样板代码匹配的模式进行操作。
  case class DataSourceInstanceRow(id: Int, value: String, createdBy: Option[String], modifiedBy: Option[String])
  case class FormDefinitionRow(id: Int, formData: String, createdBy: Option[String], modifiedBy: Option[String])
  case class DecisionTableDefinitionRow(id: Int, rows: Int, definitions: List[String], createdBy: Option[String], modifiedBy: Option[String])
  case class ReportDef(id: Int, reportType: Int, reportName: String)


  def populateLogs[T](t: T, user: String): T = {
    t match {
      case ds: DataSourceInstanceRow =>
        if(ds.id == -1) ds.copy(modifiedBy = Some(user), createdBy = Some(user)).asInstanceOf[T]
        else ds.copy(modifiedBy = Some(user)).asInstanceOf[T]
      case fd: FormDefinitionRow =>
        if(fd.id == …
Run Code Online (Sandbox Code Playgroud)

scala pattern-matching shapeless

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

foreach函数在Spark DataFrame中不起作用

根据DataFrames API,定义为:

public void foreach(scala.Function1<Row,scala.runtime.BoxedUnit> f)
Run Code Online (Sandbox Code Playgroud)

将函数f应用于所有行。

但是当我尝试像

Dataframe df = sql.read()
    .format("com.databricks.spark.csv")
    .option("header","true")
    .load("file:///home/hadoop/Desktop/examples.csv");

df.foreach(x->
{
   System.out.println(x);
});
Run Code Online (Sandbox Code Playgroud)

我收到编译时间错误。有什么错吗

java hadoop dataframe apache-spark spark-dataframe

4
推荐指数
2
解决办法
9354
查看次数

家族多态性+ Mixins?

我有一个类型的家庭,我想用mixins模块化"丰富".例如:

trait Family {
  self =>
  trait Dog {
    def dogname:String
    def owner:self.Person
  }
  trait Person {
    def name:String
    def pet:self.Dog
  }
}

trait SerializableFamily extends Family {
  trait Dog extends super.Dog {
    def toSimpleString:String = "Dog(" + dogname + ")"
  }
  trait Person extends super.Person {
    def toSimpleString:String = "Person(" + name + ") and his pet " + pet.toSimpleString
  }
}

trait SerializableFamily2 extends Family {
  trait Dog extends super.Dog {
    def toLoudString:String = "Dog(" + dogname.toUpperCase + …
Run Code Online (Sandbox Code Playgroud)

scala traits mixins

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

使用随机数据元素而不是中间元素代码进行快速排序

我有以下代码工作正常,但任何人都可以告诉我如何更改alogirithm使用随机数据元素.

而不是下面,我想随机选择枢轴元素,任何帮助将不胜感激

      int pivot = arr[(left + right) / 2];

import java.util.Random;


public class QuickSort {

    /**
     * @param args
     */
    public static void main(String[] args) {

          int i;
          int array[] = {10,9,1,2,3,4,100,200,300,400};  
          System.out.println(" Quick Sort\n\n");
          System.out.println("Values Before the sort:\n");
          for(i = 0; i < array.length; i++)
          System.out.print( array[i]+"  ");
          System.out.println();
          quickSort(array,0,array.length-1);
          System.out.print("Values after the sort:\n");
          for(i = 0; i <array.length; i++)
          System.out.print(array[i]+"  ");
          System.out.println(); 

    }

    public static int partition(int arr[], int left, int right)
    {
          int i = left, …
Run Code Online (Sandbox Code Playgroud)

java algorithm quicksort

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

如何为hive查询编写mapreduce代码

如何编写map reduce代码

  1. 从表中选择*
  2. 用于左外连接

因为hive ql需要很长时间.对于1 GB的数据,它需要将近10分钟.

如何组合和洗牌在内部工作?

hadoop hive mapreduce

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

在keyup/click上查找表单的ID和值

我有一个表单有几种不同类型的输入(复选框,文本,数字等)我希望能够找到用户点击/键入的表单的当前元素的ID和他们输入的值.

我目前正在使用令人惊讶undefined的价值.我真的不知道从哪里开始(我不想使用jQuery)

HTML

<form id = "myForm" >           
        <input type="text" id="name"  name="name"  placeholder ="Name" />       

        <input type="email" id="mail"   name="email" placeholder ="Email" />

        <input type="number" id="phoneNumber" name ="phone" placeholder = "Phone Number" />

        <label for ="emailFormat">Email Signup Format:</label>
        <select name="newsletter" id = "plain">
            <option value = "Plain">Plain Text</option>
            <option value = "HTML">HTML</option>
        </select>

        <label for="pets">Cars owned:</label>
        <input type = "checkbox" id="mini" class = "ck" name ="mini">I have a mini.
        <input type = "checkbox" id="motorbike" class = "ck" name ="motorbike">I …
Run Code Online (Sandbox Code Playgroud)

javascript

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

Scala:使用用户定义的类输入Nothing

在scala中Nothing是每种其他类型的子类型.

scala> class A {}
defined class A

scala> def x[T >: Nothing](t: T): Unit = {}
x: [T](t: T)Unit

scala> x(new A)
Run Code Online (Sandbox Code Playgroud)

当我们创建一个任意类时,它会自动成为一个超类 Nothing

  1. 如何在scala中维护此属性?编译器是否在编译时Nothing扩展每个其他类?
  2. 就像这样,是否有可能将自定义类定义X为一组类的子类型(比如set s)而不Xs中的所有类扩展?(例如:Class X是包中所有类的子类型com.myproject.models)

请分享你的想法.

scala nothing

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

Scala中的高阶函数

IM尝试理解Scala中的下面的高阶函数,但需要对函数的参数进行一些说明.

问题: -

  1. 什么是Int => Stringapply函数是什么意思? v: Int表示参数v的类型Int.
  2. 功能[A](x: A)意味着什么layout

     object Demo {
       def main(args: Array[String]) {
        println( apply( layout, 10) )
      }
    
       def apply(f: Int => String, v: Int) = f(v)
    
       def layout[A](x: A) = "[" + x.toString() + "]"
    }
    
    Run Code Online (Sandbox Code Playgroud)

scala

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

fs2 - 与 2 个流共享 Ref

Ref[F, A]我正在尝试在两个并发流之间共享。下面是实际场景的简化示例。

  class Container[F[_]](implicit F: Sync[F]) {
    private val counter = Ref[F].of(0)

    def incrementBy2 = counter.flatMap(c => c.update(i => i + 2))

    def printCounter = counter.flatMap(c => c.get.flatMap(i => F.delay(println(i))))
  }
Run Code Online (Sandbox Code Playgroud)

在主函数中,

object MyApp extends IOApp {

  def run(args: List[String]): IO[ExitCode] = {
    val s = for {
      container <- Ref[IO].of(new Container[IO]())
    } yield {
      val incrementBy2 = Stream.repeatEval(
          container.get
            .flatTap(c => c.incrementBy2)
            .flatMap(c => container.update(_ => c))
        )
        .metered(2.second)
        .interruptScope

      val printStream = Stream.repeatEval(
          container.get
            .flatMap(_.printCounter)
        )
        .metered(1.seconds) …
Run Code Online (Sandbox Code Playgroud)

scala scala-cats fs2 cats-effect

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

查询什么都不返回

我正在尝试使用该值从我的数据库中获取汽车FK_adId.我尝试使用FK_adId值52 调用方法,并且检查了FK_adId数据库中存在值为52 的汽车.为什么不归还给我?

  public Car getCar(int adId) {
    Car car = null;
    try {
        Class.forName("org.postgresql.Driver");
        if (con != null) {
            ps = con.prepareStatement("SELECT * FROM \"car\" WHERE \"FK_adId\" = ?;");
            ps.setInt(1, adId);
            rs = ps.executeQuery();
            rs.next();
            if (rs.next()) {
                car = new Car(rs.getString("brand"), rs.getString("vin"), rs.getString("condition"), rs.getInt("distanceTraveled"), rs.getInt("age"), rs.getInt("price"), rs.getInt("FK_adId"));
            }
        }
    } catch (Exception ex) {
        System.out.println(ex);
    }
    return car;
}
Run Code Online (Sandbox Code Playgroud)

java postgresql

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