我想生成一些值的组合,如下面的代码所示:
object ContinueGenerate {
val foods = List("A", "B", "C")
val places = List("P1", "P2", "P3")
val communities = List("C1", "C2", "C3", "C4")
case class Combination(food: String, place: String, community: String)
def allCombinations() = {
for {
food <- foods; place <- places; community <- communities
} yield Combination(food, place, community)
}
def main(args: Array[String]) {
allCombinations foreach println
}
}
Run Code Online (Sandbox Code Playgroud)
然而,这种方法的问题在于,所有数据都是立即生成的.当尺寸大小时foods,这是一个大问题,places并且communities变得非常大.除了这三个之外,还可能有其他参数.
因此,我希望能够以连续样式生成组合,以便仅在请求时生成组合.
什么是惯用的Scala方式呢?
当我们打印它的值时PS1,它被设置:
$ echo $PS1
[\u@\h \W]\$
Run Code Online (Sandbox Code Playgroud)
我们可以使用env命令来打印环境变量.为什么不列出PS1变量?
$ env | grep PS1
# No output here
Run Code Online (Sandbox Code Playgroud) 我试图在mahout kmeans聚类示例(synthetic_control示例)的输出上执行"clusterdump".但我遇到以下错误:
> ~/MAHOUT/trunk/bin/mahout clusterdump --seqFileDir clusters-10-final --pointsDir clusteredPoints --output a1.txt
MAHOUT_LOCAL is not set; adding HADOOP_CONF_DIR to classpath.
Running on hadoop, using /usr/lib/hadoop/bin/hadoop and HADOOP_CONF_DIR=/usr/lib/hadoop/conf/
MAHOUT-JOB: /home/<username>/MAHOUT/trunk/examples/target/mahout-examples-0.8-SNAPSHOT-job.jar
12/06/21 22:43:18 WARN conf.Configuration: DEPRECATED: hadoop-site.xml found in the classpath. Usage of hadoop-site.xml is deprecated. Instead use core-site.xml, mapred-site.xml and hdfs-site.xml to override properties of core-default.xml, mapred-default.xml and hdfs-default.xml respectively
12/06/21 22:43:25 ERROR common.AbstractJob: Unexpected --seqFileDir while processing Job-Specific Options:
usage: <command> [Generic Options] [Job-Specific Options]
.....
Run Code Online (Sandbox Code Playgroud)
所以我猜clusterdump没有"seqFileDir"选项,但是所有的在线教程(例如https://cwiki.apache.org/MAHOUT/cluster-dumper.html)都引用了这个选项.你能告诉我补救措施或我缺少什么吗?
我试图从github克隆一个项目,然后设置bower依赖项和grunt build/dev工具.当角度项目最初被推送到github时,某些目录和文件已被删除(因为它们列在gitignore文件中).我试图弄清楚如何复活本地运行项目所需的所有这些文件(我在浏览github时找到).
克隆项目后,我运行bower命令,以便通过bower.json读取:
% bower install
Run Code Online (Sandbox Code Playgroud)
然后我运行grunt命令:
% npm install -g grunt-cli
% npm install grunt --save-dev
Run Code Online (Sandbox Code Playgroud)
为什么在运行这些终端命令时不会自动创建Gruntfile.js?
它还挂起了与livereload相关的问题,但是在我运行这些问题后会消失:
% npm install --save-dev connect-livereload
% npm install
Run Code Online (Sandbox Code Playgroud)
当我使用这些yeoman和grunt命令从头开始一个项目时,它会自动创建Gruntfile.js,我可以成功地让项目在浏览器中自动加载:
% npm install -g generator-angular
% yo angular
% bower install angular-ui
% npm install --save-dev connect-livereload
% npm install
% grunt test
% grunt server
% grunt
Run Code Online (Sandbox Code Playgroud)
但我正在尝试掌握从github克隆项目然后在本地设置项目的技术.我很接近,但目前我也遇到了缺少Gruntfile.js的问题.我非常感谢您提供的任何指示.祝一切顺利,
本
我想打印依赖项jar,以便我可以将它们放在classpath变量中.
我可以获取依赖jar文件的类路径字符串.
Curenttly,我可以使用,compile:dependencyClasspath但它返回一个需要手动转换为类路径字符串的格式.
$ sbt "show compile:dependencyClasspath"
[info] Set current project to scala-snippets (in build file:/home/tuxdna/work/learn/mine/scala-snippets/)
[info] List(Attributed(/home/tuxdna/.ivy2/cache/org.apache.lucene/lucene-core/jars/lucene-core-3.0.1.jar), Attributed(/home/tuxdna/.ivy2/cache/com.netflix.rxjava/rxjava-scala/jars/rxjava-scala-0.15.0.jar), Attributed(/home/tuxdna/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.10.4-RC1.jar), Attributed(/home/tuxdna/.ivy2/cache/com.netflix.rxjava/rxjava-core/jars/rxjava-core-0.15.0.jar), Attributed(/home/tuxdna/.ivy2/cache/com.typesafe.akka/akka-actor_2.10/jars/akka-actor_2.10-2.2.3.jar), Attributed(/home/tuxdna/.ivy2/cache/com.typesafe/config/bundles/config-1.0.2.jar), Attributed(/home/tuxdna/.ivy2/cache/org.scala-lang.modules/scala-async_2.10/bundles/scala-async_2.10-0.9.0-M2.jar), Attributed(/home/tuxdna/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.10.3.jar), Attributed(/home/tuxdna/.ivy2/cache/org.scala-lang/scala-actors/jars/scala-actors-2.10.2.jar))
[success] Total time: 0 s, completed Dec 17, 2013 4:00:05 PM
Run Code Online (Sandbox Code Playgroud)
这就是我将它转换为类路径字符串的方式
$ sbt "show compile:dependencyClasspath" | grep -B1 'success' | head -1 | ruby -e 's = STDIN.read; puts s[(s =~ /Attributed(.*?,)/)..-1].split(", ").map { |x| x.sub("Attributed(","").gsub(")", "")}.join(":")'
/home/tuxdna/.ivy2/cache/org.apache.lucene/lucene-core/jars/lucene-core-3.0.1.jar:/home/tuxdna/.ivy2/cache/com.netflix.rxjava/rxjava-scala/jars/rxjava-scala-0.15.0.jar:/home/tuxdna/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.10.4-RC1.jar:/home/tuxdna/.ivy2/cache/com.netflix.rxjava/rxjava-core/jars/rxjava-core-0.15.0.jar:/home/tuxdna/.ivy2/cache/com.typesafe.akka/akka-actor_2.10/jars/akka-actor_2.10-2.2.3.jar:/home/tuxdna/.ivy2/cache/com.typesafe/config/bundles/config-1.0.2.jar:/home/tuxdna/.ivy2/cache/org.scala-lang.modules/scala-async_2.10/bundles/scala-async_2.10-0.9.0-M2.jar:/home/tuxdna/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.10.3.jar:/home/tuxdna/.ivy2/cache/org.scala-lang/scala-actors/jars/scala-actors-2.10.2.jar
Run Code Online (Sandbox Code Playgroud)
如何使用SBT实现类似的功能?
我还试图sbt consoleProject尝试创建一个SBT任务.
方法如下:
$ sbt
sbt> consoleProject
scala> …Run Code Online (Sandbox Code Playgroud) scala> util.Properties.versionString
res11: String = version 2.11.2
scala> val a = ""
a: String = ""
scala> val a = "\""
a: String = "
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.现在使用字符串插值,它会失败:
scala> val a = s"\""
<console>:1: error: unclosed string literal
val a = s"\""
^
Run Code Online (Sandbox Code Playgroud)
即使我们提供结束转义报价.
scala> val a = s"\"\""
<console>:7: error: value \ is not a member of String
val a = s"\"\""
^
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
我正在尝试使用mongoimport在_id中使用字符串值来追加数据.由于id看起来像整数(即使它们在引号中),mongoimport将它们视为整数并创建新记录而不是插入现有记录.
命令我正在运行:
mongoimport --host localhost --db database --collection my_collection --type csv --file mydata.csv --headerline --upsert
mydata.csv中的示例数据:
{ "_id" : "0364", someField: "value" }
结果是mongo插入这样的记录:{ "_id" : 364, someField: "value" }而不是用_id更新记录"0364".
有谁知道如何将它_id视为字符串?
不起作用的事情:
{ "_id" : "0364" + "", someField: "value" }尝试加载自定义数据以在Scikit中执行NB分类.需要帮助将样本数据加载到Scikit然后执行NB.如何为目标加载分类值.
使用相同的数据进行训练和测试,或使用完整的训练集进行测试.
Sl No,Member ID,Member Name,Location,DOB,Gender,Marital Status,Children,Ethnicity,Insurance Plan ID,Annual Income ($),Twitter User ID
1,70000001,Fly Dorami,New York,39786,M,Single,,Asian,2002,0,548900028
2,70000002,Bennie Ariana,Pennsylvania,6/24/1940,F,Single,,Caucasian,2002,66313,
3,70000003,Brad Farley,Pennsylvania,12001,F,Married,4,African American,2002,98444,
4,70000004,Daggoo Cece,Indiana,14032,F,Married,2,Hispanic,2001,41896,113481472.
Run Code Online (Sandbox Code Playgroud) Java中的类层次结构:
接口:聚类、分类
Kluster类的层次结构如下所示
Cluster <- ,
+-- Kluster
Classify <- '
Run Code Online (Sandbox Code Playgroud)
文件:oop/Cluster.java
package oop;
public interface Cluster {
public String HELLO = "hello";
}
Run Code Online (Sandbox Code Playgroud)
文件:oop/Kluster.java
package oop;
interface Classify {
public String GOODBYE = "good bye";
}
public class Kluster implements Cluster, Classify {
}
Run Code Online (Sandbox Code Playgroud)
文件:oop/KlusterMain.java
package oop;
public class KlusterMain {
public static void main(String[] args) {
System.out.println(Kluster.HELLO);
System.out.println(Kluster.GOODBYE);
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都按预期进行。我可以打印 HELLO 和 GOODBYE 常量。
现在,当我尝试从 Scala 编译器访问它们时,会出现错误。
文件:oop/cluster.scala
package …Run Code Online (Sandbox Code Playgroud) 特别是,对于测试用例,我希望将测试数据库保持独立,以便测试用例不会干扰开发或生产数据库.
分离开发,测试和生产环境有哪些好的做法?
编辑1:一些背景
在Ruby On Rails中,对于不同的环境,按惯例有不同的配置文件.Play也是如此!2还支持吗?
或者,我是否必须烹饪配置文件,然后编写一些选择适当配置文件的粘合代码?
目前,如果我运行sbt test它使用开发数据库(在conf/application.conf中配置为"default").但是我想Play!2使用不同的测试数据库.
EDIT2:播放提供的命令
为......而玩!2框架,我观察到了这一点.
$ help play
Welcome to Play 2.2.2!
These commands are available:
-----------------------------
...OUTPUT SKIPPED...
run <port> Run the current application in DEV mode.
test Run Junit tests and/or Specs from the command line
start <port> Start the current application in another JVM in PROD mode.
...OUTPUT SKIPPED...
Run Code Online (Sandbox Code Playgroud)
"test","development"和"production"实例有三个定义良好的命令,它们是:
test:这运行测试用例.所以它应该自动选择test配置.run <port>:这将运行development指定的实例port.所以这个命令应该自动选择development配置.start <port>:这将运行production指定的实例port …