小编use*_*own的帖子

Linux命令或脚本计算文本文件中的重复行?

如果我有一个带有以下内容的文本文件

red apple
green apple
green apple
orange
orange
orange
Run Code Online (Sandbox Code Playgroud)

是否有可用于获得以下结果的Linux命令或脚本?

1 red apple
2 green apple
3 orange
Run Code Online (Sandbox Code Playgroud)

linux text duplicates

110
推荐指数
4
解决办法
8万
查看次数

元组在地图操作中解包

我经常发现自己与元组的列表,序列和迭代器一起工作,并希望做类似以下的事情,

val arrayOfTuples = List((1, "Two"), (3, "Four"))
arrayOfTuples.map { (e1: Int, e2: String) => e1.toString + e2 }
Run Code Online (Sandbox Code Playgroud)

但是,编译器似乎从不同意这种语法.相反,我最终写作,

arrayOfTuples.map { 
    t => 
    val e1 = t._1
    val e2 = t._2
    e1.toString + e2 
}
Run Code Online (Sandbox Code Playgroud)

这真是太傻了.我怎么能绕过这个?

iterator scala tuples map iterable-unpacking

72
推荐指数
5
解决办法
3万
查看次数

Bash脚本存储命令输出到变量

我有一个问题,关于将命令的输出存储在bash脚本中的变量中.
我知道一般来说有两种方法可以做到这一点

foo=$(bar)
# or
foo=`bar`
Run Code Online (Sandbox Code Playgroud)

但对于Java版本查询,这似乎不起作用.

我做了:

version=$(java --version)
Run Code Online (Sandbox Code Playgroud)

这不会将值存储在var中.它甚至还会打印它,实际上并非如此.

我也尝试将输出重定向到文件,但这也失败了.

variables bash store

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

如何在Java中使用PrintWriter和File类?

我正在尝试理解PrintWriter我正在制作的一个小程序,我似乎无法让java生成该文件然后在其上写.当我执行下面的程序时,它在第9行给出了一个Filenotfoundexeption错误.它也无法在我指定的目录中生成该文件.我是新手,所以请尽量保持简单的答案.我正在使用Eclipse.

import java.io.PrintWriter;
import java.io.File;

public class Testing {

  public static void main(String[] args) {

    File file = new File ("C:/Users/Me/Desktop/directory/file.txt");
    PrintWriter printWriter = new PrintWriter ("file.txt");
    printWriter.println ("hello");
    printWriter.close ();       
  }
}
Run Code Online (Sandbox Code Playgroud)

java printwriter

50
推荐指数
4
解决办法
36万
查看次数

如何关闭与DB的现有连接

我想关闭与MS SQL Server的现有连接,以便我可以以编程方式对该数据库进行还原.

sql sql-server

43
推荐指数
3
解决办法
13万
查看次数

查找实现特定接口的所有类

我正在开发一个应用程序(Quartz调度程序),我们有一个工作类负责实际执行工作,我们需要在Quartz调度程序中创建触发器时告诉/传递作业类的名称.

我想为所有想要使用API​​的人提供一个扩展点(除了我将作为API的一部分提供的一些通用作业).我们的想法是创建一个(标记)接口,如果有人想要将它们的类声明为调度程序作业类,那么他们所要做的就是(声明)实现接口.

我不确定如何找到遵循合同的类(通过实现接口),以便我可以向想要在调度程序中安排触发器的用户显示它们.

我的要求是不在运行时加载类,而是显示实现所需接口的类的用户列表,以便用户可以选择类和类名称可以传递给调度程序.这是Quartz调度程序,它最终将负责创建类的实例.

任何人都可以建议我如何实现上述目标,还是有任何其他更好的方法来实现我想要做的事情?

编辑

我浏览了ServiceLoader的文档,似乎为了实现一个服务,我必须在META-INF文件夹中创建一个具有实现类名称的文件,这使我认为如果我的API的用户想要20个不同的实现,他必须在文件中放入20个条目,这对我来说似乎为最终用户做了很多额外的工作,因为每个工作类将被创建用于执行特定的工作,并且可以有100个工作类.

如果我的假设错了,请纠正我.

java quartz-scheduler java-ee

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

print中的scala for-comprehension

为了理解,我不能只是提出一个印刷声明:

def prod (m: Int) = {
  for (a <- 2 to m/(2*3);
    print (a + "  ");
    b <- (a+1) to m/a;
    c = (a*b) 
    if (c < m)) yield c
}
Run Code Online (Sandbox Code Playgroud)

但我可以通过虚拟任务轻松绕过它:

def prod (m: Int) = {
  for (a <- 2 to m/(2*3);
    dummy = print (a + "  ");
    b <- (a+1) to m/a;
    c = (a*b) 
    if (c < m)) yield c
}
Run Code Online (Sandbox Code Playgroud)

作为副作用,并且仅在开发中的代码中使用(到目前为止),是否有更好的临时解决方案?

是否有一个严重的问题为什么我不应该使用它,除了副作用?

更新显示真实代码,其中调整一个解决方案比预期更难:

从与Rex Kerr的讨论来看,必要性已经上升到显示原始代码,这有点复杂,但似乎与问题无关(2x .filter,最后调用方法),但是当我试图将Rex'模式应用到它我失败了,所以我在这里发布:

  def prod (p: Array[Boolean], max: Int) …
Run Code Online (Sandbox Code Playgroud)

scala variable-assignment println for-comprehension

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

为什么增强的for循环比正常循环更有效

我读到增强的for循环比这里的正常for循环更有效:

http://developer.android.com/guide/practices/performance.html#foreach

当我搜索它们的效率之间的差异时,我发现的是:在正常for循环的情况下,我们需要额外的步骤来找出数组的长度或大小等,

for(Integer i : list){
   ....
}


int n = list.size();
for(int i=0; i < n; ++i){
  ....
}
Run Code Online (Sandbox Code Playgroud)

但这是唯一的原因,增强的for循环优于正常的循环吗?在这种情况下,更好地使用normal for循环,因为理解增强的for循环有点复杂.

检查一个有趣的问题:http://www.coderanch.com/t/258147/java-programmer-SCJP/certification/Enhanced-Loop-Vs-Loop

任何人都可以解释这两种for循环的内部实现,或解释使用增强型for循环的其他原因吗?

java foreach for-loop

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

System.Drawing不存在?

我正在尝试使用asp.net中的类库创建验证图像,但这不是问题.

无论如何,我的问题是......好吧... system.drawing不存在所以我不能使用"位图".从类似的问题,人们告诉添加参考.但我已经这样做了,重新启动了我的电脑等.它不起作用.

除了添加引用之外我还能做什么?它不起作用或我做错了吗?

这基本上就是我做的:

  • 右键单击引用,这是正在解决的问题,
  • 添加参考
  • 添加system.drawing

但是,当我手动输入时,它不会出现在intellisense中或告诉我"它不存在,尝试添加引用".

图片

.net c# asp.net visual-studio asp.net-mvc-3

22
推荐指数
4
解决办法
5万
查看次数

如何在bash中的所有子目录中gzip所有文件

我想在我当前位置的子目录之间进行迭代,并单独gzip每个文件.对于压缩目录中的文件,我使用

for file in *; do gzip "$file"; done
Run Code Online (Sandbox Code Playgroud)

但这可以只在当前目录上工作,而不是当前目录的子目录.如何重写上述语句,以便它还可以压缩所有子目录中的文件?

linux bash shell gzip loops

21
推荐指数
3
解决办法
6万
查看次数