小编PBJ*_*PBJ的帖子

引用Perl/Moose包名称的简写?

在Python和Java中,我们必须import消除代码中完全限定的包/模块名称的重复.Perl/Moose有没有相应的东西?我认为如果我们不必重复,那么真的会让Moose更好用MyApp::Model::Item.相反,我想[somehow declare] MyApp::Model::Item;以及稍后,只需参考Item.我可以想到所有使用类名的用例......

  • extends 'Item';
  • with 'ItemRole';
  • Item->new(name => 'thing');
  • method foo(Item $xyz) { ... },与 MooseX::Method::Signatures
  • $var->isa('Item');
  • try { ... } catch (DatabaseError $e) { ... },与 TryCatch
  • $Item::SOME_PACKAGE_GLOBAL_VARIABLE

如果还没有这样的事情,有什么想法我可能会开始干净地实现这个吗?我可以看到处理classname用作字符串的情况会很棘手.

perl coding-style packages moose verbosity

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

用于查询给定子集是否存在于集合集合中的数据结构

我正在尝试为文字游戏解算器构建数据结构.

我需要存储约150,000套形式{A,A,D,E,I,L,P,T,V,Y}.(它们是标准化的英语单词,即排序的字符.请注意,这是一个多重集,可以包含两次相同的字母.)

需要有效地获得以下类型的查询的是/否答案:是否存在具有给定子集的任何集合?例如,任何已知单词是否包含{D,E,I,L,L,P}集合?

要求:

  • 查询必须快速
  • 数据结构应适合合理的空间(例如<50 MB)
  • 数据结构不需要实时构建 ; 它是预先计算好的.

有没有适合这种需求的数据结构?这 StackOverflow上的其他 设置匹配问题略有不同,因为目标集实际上是多集的.

algorithm set subset multiset data-structures

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

在Eclipse调试器中,哪些更改可以"热代码替换"到正在运行的JVM中?

在Eclipse中,如果在"Debug"下运行程序,则可以对代码进行更改,并且大多数时候它会立即生效.

但有时候,它不会 - 在这种情况下会弹出一条消息,或者在"调试"窗格中的线程旁边说"(可能不同步)".

是什么决定了可以热插拔的变化?我注意到这些变化通常会失败:

  • 引入新的匿名内部类
  • 在实例化类时更改类(重命名/添加/删除字段和方法)
  • 添加try-catch块

但有时似乎几乎是随机的.确定代码是否可以替换的逻辑是什么?

java eclipse debugging jvm

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

从Rails 3中的ActionMailer模板设置主题?

如何从Rails 3 ActionMailer模板设置主题?

我想把主题和身体放在一起.

在Rails 2中,您可以执行以下操作:

<% controller.subject = 'Change of subject' %>
Run Code Online (Sandbox Code Playgroud)

(来自http://www.quirkey.com/blog/2008/08/29/actionmailer-changing-the-subject-in-the-template/)

email ruby-on-rails actionmailer

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

深度克隆具有ArrayRef [Object]和Set :: Object属性的Moose对象

我有一个Moose对象:

class My::Game {
  has 'players' => (isa => 'Set::Object', ...)
  has 'action_sequence' => (isa => 'ArrayRef[My::Game::Action]', ...)
}
Run Code Online (Sandbox Code Playgroud)

现在我希望能够通过调用克隆此对象,$game2 = $game->clone;如何深度克隆它以便克隆ArrayRef中的对象?更巧妙的是,Set :: Object

我看过MooseX :: Clone,但我不清楚如何将它应用于这种情况.示例代码将不胜感激.

谢谢!

arrays perl clone moose

6
推荐指数
2
解决办法
1111
查看次数

Spark - 将字符串ID转换为唯一的整数ID

我有一个看起来像这样的数据集,其中每个用户和产品ID都是一个字符串:

userA, productX
userA, productX
userB, productY
Run Code Online (Sandbox Code Playgroud)

拥有约280万件产品和3亿用户; 大约21亿用户产品协会.

我的最终目标是在此数据集上运行Spark协作过滤(ALS).由于它需要用户和产品的int键,我的第一步是为每个用户和产品分配一个唯一的int,并转换上面的数据集,以便用int和int表示用户和产品.

这是我到目前为止所尝试的:

val rawInputData = sc.textFile(params.inputPath)
  .filter { line => !(line contains "\\N") }
  .map { line =>
      val parts = line.split("\t")
      (parts(0), parts(1))  // user, product
    }

// find all unique users and assign them IDs
val idx1map = rawInputData.map(_._1).distinct().zipWithUniqueId().cache()

// find all unique products and assign IDs
val idx2map = rawInputData.map(_._2).distinct().zipWithUniqueId().cache()

idx1map.map{ case (id, idx) => id + "\t" + idx.toString
}.saveAsTextFile(params.idx1Out)
idx2map.map{ case (id, idx) => id + …
Run Code Online (Sandbox Code Playgroud)

apache-spark

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

Jupyter - 用于在图表上使用播放头播放音频的小部件

是否有任何 Jupyter 小部件可以在时间序列图上可视化与播放头同步的音频?

我想可视化从音频样本(例如频谱图和各种计算信号)导出的数据,聆听音频样本,同时看到播放头在绘图上移动。

我发现这个旧要点https://gist.github.com/deeplycloudy/2152643它在 Python 后端使用 pyaudio 来播放声音。有没有什么好一点的解决方案,例如,理想情况下完全基于 JavaScript 并且完全在浏览器中运行播放?

python audio visualization signal-processing jupyter

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

ctags 支持 MooseX::Declare?(珀尔)

如何让 ctags 为 MooseX::Declare 方法、类、属性等生成标签?

perl editor ctags moose exuberant-ctags

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

将MooseX :: Method :: Signatures导入调用者的范围

我做了一个"捆绑"模块,做了一堆东西:进口Moose,进口true,namespace::autoclean,使得调用者的类不可变的(取自MooseX::AutoImmute).我无法弄清楚的一件事是如何包括MooseX::Method::Signatures.

这是我到目前为止所得到的:

package My::OO;

use Moose::Exporter;
use Hook::AfterRuntime;

use Moose ();
use true ();
use namespace::autoclean ();

my ($import, $unimport, $init_meta) = Moose::Exporter->build_import_methods(
 also => ['Moose'],
);
sub import {
 true->import();

 my $caller = scalar caller;
 after_runtime { $caller->meta->make_immutable };

 namespace::autoclean->import(-cleanee => $caller);

 goto &$import;
}
sub unimport {
 goto &$unimport;
}

1;
Run Code Online (Sandbox Code Playgroud)

我的想法是,在我的代码中,我现在可以做这样的事情:

package My::Class; {
    use My::OO;
    extends 'My::Parent';
    method foo() { ... }
}
Run Code Online (Sandbox Code Playgroud)

但是现在我还是要加一个额外的use MooseX::Method::Signatures; …

import perl moose syntactic-sugar

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

Rails如何找到模型和控制器?如何让它加载更多模型?

我正在尝试创建一个非ActiveRecord模型app/models/gamestate.rb.然后在我的控制器(PlayController)里面,我应该可以做到GameState.new,对吧?不去:

NameError (uninitialized constant PlayController::GameState):
  app/controllers/play_controller.rb:23:in `play'
Run Code Online (Sandbox Code Playgroud)

(至少在开发环境中)

但!如果我确实有一个名为的模型app/models/play.rb,那么它会自动加载,我可以做Play.new.

所以我的问题是:Rails如何知道要加载哪些类?它能做什么样的名字改编的摆脱play#actionPlayControllerapp/controllers/play_controller.rbapp/models/play.rb

它似乎非常脆弱,但也许更好地了解它的工作原理会有所帮助.

最后,我怎样才能加载它app/models/gamestate.rb

ruby activerecord ruby-on-rails

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

从集合中进行概率选择

假设我想随机选择0到30之间的数字n,其中分布是任意的,而不是统一的.每个数字具有相应的权重P(n):P(0)= 5,P(1)= 1,P(2)= 30,P(3)= 25,依此类推.如何从该集合中随机选择,以便选择数字的概率与其权重成正比?

什么是这种随机选择甚至被称为?

我可以看到实现它的一种方法:

  1. 制作查找表V,其中V(n)= V(n-1)+ P(n); 基本情况V(0)= P(0).
  2. 生成一个随机数X,其均匀分布在0和最大值V之间.
  3. 找到n的最小值,使得V(n)> X.

这样的东西已经在库中实现了吗?(使用Perl.)

random math statistics perl

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

从另一个模块访问 Scala 私有类

我有一个 Scala/Spark 项目(使用 Maven 构建),我想在其中执行以下操作。

我想修改org.apache.spark.mllib.recommendations.ALS,所以我将该文件的源代码复制到我自己的包中:org.apache.spark.mllib.myrecommendations.ALS。但是,它依赖于一些类,例如org.apache.spark.util.Utils,这些类被声明为private[spark]

我曾希望通过将我的代码放入 中org.apache.spark,它将能够访问私有成员。但它在抱怨,也许是因为 Spark 是通过 Maven 模块导入的?我该如何解决这个问题?

以下是 pom.xml 导入 Spark-mllib 的方式:

    <dependency>
        <groupId>com.sparkjava</groupId>
        <artifactId>spark-core</artifactId>
        <version>2.0.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-mllib_2.10</artifactId>
        <version>1.1.0</version>
        <scope>provided</scope>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

这是我遇到的错误消息的示例:

error: variable checkpointDir in class SparkContext cannot be accessed in org.apache.spark.SparkContext
[WARNING]         if (sc.checkpointDir.isDefined && (iter % 3 == 0)) {
[WARNING]                ^
Run Code Online (Sandbox Code Playgroud)

查看 org.apache.spark.SparkContext 的源代码,我看到 checkpointDir 被声明为 org.apache.spark 私有:

private[spark] var checkpointDir: Option[String] = None
Run Code Online (Sandbox Code Playgroud)

为什么我无法访问此成员,即使我的代码位于 org.apache.spark.mllib.myrecommendation.ALS(org.apache.spark 的子级)中?

scala pom.xml maven

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