小编slh*_*hck的帖子

如何创建一个元组,其中每个成员都通过表达式进行比较?

嗯,这是事情:

我有以下Haskell代码,这个:

[ (a, b, c) | c <- [1..10], b <- [1..10], a <- [1..10], a ^ 2 + b ^ 2 == c ^ 2 ]
Run Code Online (Sandbox Code Playgroud)

哪个会回来

[(4,3,5),(3,4,5),(8,6,10),(6,8,10)]
Run Code Online (Sandbox Code Playgroud)

对于那些不熟悉这个的人,我会解释:

  • 它返回一个tuple(a,b,c),其中这些"定义"(a,b,c)中的每一个都接收一个列表(1到10),并且他的成员通过a ^ 2 + b ^ 2 == c ^ 2 ?表达式(每个成员)进行比较.

我怎样才能在Python/Ruby中做同样的事情(如果可能的话,一行)?

PS: 它们按字典顺序进行比较.

ruby python haskell

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

Ruby中百分号+管道运算符的含义是什么,如"%|"?

我正在尝试理解本网站上提供的脚本:

#!/usr/bin/env ruby

require ENV['TM_SUPPORT_PATH'] + '/lib/escape.rb'

def terminal_script_filepath
  %|tell application "Terminal"
      activate
      do script "jsc -i #{e_as(e_sh(ENV['TM_FILEPATH']))}"
    end tell|
end

open("|osascript", "w") { |io| io << terminal_script_filepath }
Run Code Online (Sandbox Code Playgroud)

最重要的是,函数terminal_script_filepath开头的部分:

%| …
… |
Run Code Online (Sandbox Code Playgroud)

......以及"解析"的地方:

{ |io| io << terminal_script_filepath }
Run Code Online (Sandbox Code Playgroud)

这里使用了哪些Ruby概念?

我知道open()使用管道可以帮助我将输入提供给进程的STDIN,但是输入是如何terminal_script_filepath进行的io?我也知道了基本的%使用字符串操作,如%w,但到底是什么管道在这里做?

ruby syntax

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

在CSV文件中将矢量作为行附加

我已经拥有的东西:

考虑以下数据 - 只是虚拟数据,自动创建实际数据:

features <- numeric(0)
features <- c(features, 1, 2, 3, 4, 5, 6)
features2 <- numeric(0)
features2 <- c(features2, 1, 2, 3, 4, 5, 6)
featureVectors <- list()
featureVectors[["file1"]] <- features
featureVectors[["file2"]] <- features2
resultMatrix <- do.call(rbind, featureVectors)
colnames(resultMatrix) <- c("SPEC_MEAN", "SPEC_SD", "SPEC_MODE", "AUTOC_MEAN", "AUTOC_SD", "ZC_MEAN")
Run Code Online (Sandbox Code Playgroud)

这会产生如下输出:

      SPEC_MEAN SPEC_SD SPEC_MODE AUTOC_MEAN AUTOC_SD ZC_MEAN
file1         1       2         3          4        5       6
file2         1       2         3          4        5       6
Run Code Online (Sandbox Code Playgroud)

我可以通过调用将其写入CSV文件write.csv(resultMatrix, file="out.csv").


我需要的:

由于结果文件(当前)只是动态创建,我想features在评估它们之后将这些(即向量)写入CSV文件.

所以我认为我会使用write.csv …

csv r export-to-csv

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

防止在Rails AJAX表单中提交双重提交

是)我有的:

我有一个表格,我通过AJAX提交.

<%= form_for([@map, @annotation], :remote => true ) do |f| %>
   ...
   <%= f.submit "Save annotation", :class => "btn btn-primary", :id => "annotation-submit-button" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我想要的是:

我想防止双重提交.由于表单仅在请求成功完成后消失,因此只要数据库尚未完成数据写入,用户就可以单击"提交"按钮.显然,我不希望这样.

我尝试过的:

我尝试将此添加到提交按钮本身 - 但它不起作用.该按钮被禁用,但没有数据被发送.

:onclick => "this.disabled = true"
Run Code Online (Sandbox Code Playgroud)

我还尝试在提交按钮中添加一个点击处理程序.这与以前具有相同的效果.实际上没有数据发送到控制器,但是按钮被禁用.

$("#annotation-submit-button").click(function(event) {
  $(this).attr("disabled", "disabled");
  return false;
});
Run Code Online (Sandbox Code Playgroud)

也尝试了同样没有返回false.禁用该按钮后没有任何反应.

$("#annotation-submit-button").click(function(event) {
  $(this).prop("disabled", "disabled");
});
Run Code Online (Sandbox Code Playgroud)

我开始认为这是Rails特有的?

ajax jquery ruby-on-rails submit ruby-on-rails-3

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

如何在Android应用程序中使用iptables

如何在Android应用程序中使用iptables?我需要这个类似于防火墙的功能,即包过滤,阻塞站点等.

我也不确定Android内核中是否有iptables可用.

我之前听说我必须创建iptables的交叉编译二进制文件 - 但我该怎么做呢?我如何在应用程序中使用它们?

android iptables

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

如何将我的.so库复制到Android设备?

总结一行:libs/armeabi/*.so 当我运行我的应用程序时,并非所有文件都被复制到设备中.我会试着解释一下.

目录结构

我正在尝试将ffmpeg添加到Android上,因此NDK具有以下结构:

jni
??? Android.mk
??? bambuser_ffmpeg
?   ??? Android.mk
?   ??? libavcodec.so
?   ??? libavcore.so
?   ??? libavdevice.so
?   ??? libavfilter.so
?   ??? libavformat.so
?   ??? libavutil.so
?   ??? libswscale.so
??? video
    ??? Android.mk
    ??? at_ac_univie_gameclient_video_VideoGLSurfaceView.c
    ??? at_ac_univie_gameclient_video_VideoGLSurfaceView.h
    ??? at_ac_univie_gameclient_video_VideoGLSurfaceView_GLRenderer.h
Run Code Online (Sandbox Code Playgroud)

Android.mk文件

Android.mk文件中bambuser_ffmpeg说:

include $(CLEAR_VARS)
LOCAL_MODULE := bambuser-libavcodec
LOCAL_SRC_FILES := libavcodec.so
include $(PREBUILT_SHARED_LIBRARY)
# and so on, for all of the above .so files
Run Code Online (Sandbox Code Playgroud)

第二个`Android.mk文件包含以下内容:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := …
Run Code Online (Sandbox Code Playgroud)

java-native-interface android shared-libraries android-ndk

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

从Eclipse中删除SVN用户名和密码在Windows 7中不起作用

我在Windows 7中使用Eclipse(Helios)32Bit,使用Subclipse 1.6.x.

我想重置我的SVN用户名和密码.在互联网上,我发现了以下步骤:

  • 关闭Eclipse或RAD/WSAD
  • 导航到以下目录,用您的Windows登录ID替换{User}.
  • C:\ Documents and Settings {User}\Application Data\Subversion
  • 删除Subversion目录下的所有文件
  • 打开Eclipse或RAD/WSAD
  • 与SVN存储库同步
  • 如果出现提示,请单击"永久接受"以信任证书
  • 出现提示时输入您的Subverion用户ID和密码

这些步骤无效.当我再次打开Eclipse并与存储库同步时,它不会要求输入用户名或密码.


其他信息:

  • 我尝试删除目录中的Subversion文件,但在同步时,Eclipse再次创建一个文件夹.

  • 在另一篇文章中我读到了"删除.keyring文件",但我找不到这个文件的位置.

  • 在"安全存储内容"选项卡中,我只有:

eclipse svn windows-7

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

如何在R中创建(100%)堆积直方图?

我的数据集:

我有以下格式的数据(此处,从CSV文件导入).您可以在此处找到CSV格式的示例数据集.

PAIR   PREFERENCE
1      5
1      3
1      2
2      4
2      1
2      3
Run Code Online (Sandbox Code Playgroud)

… 等等.总共有19对,PREFERENCE范围从15,作为离散值.


我想要实现的目标:

我需要的是每对的堆叠直方图,例如100%高的列,指示PREFERENCE值的分布.

类似于Excel中的"100%堆积列",或者(尽管不完全相同,所谓的"马赛克图"):


我尝试了什么:

我认为它最容易使用ggplot2,但我甚至不知道从哪里开始.我知道我可以创建一个简单的条形图,例如:

ggplot(d, aes(x=factor(PAIR), y=factor(PREFERENCE))) + geom_bar(position="fill")
Run Code Online (Sandbox Code Playgroud)

......然而,这并没有让我走得太远.所以我尝试了这个,它让我更接近我想要实现的目标,但它仍然使用了PREFERENCE我的计数,我想?注意ylab这里是"count",值是19.

qplot(factor(PAIR), data=d, geom="bar", fill=factor(PREFERENCE_FIXED))
Run Code Online (Sandbox Code Playgroud)

结果是:

在此输入图像描述

  • 那么,我需要做些什么来使堆积条形成直方图?
  • 或者他们实际上已经这样做了吗?
  • 如果是这样,我需要更改什么才能使标签正确(例如,有百分比而不是"计数")?

顺便说一句,这与这个问题并没有真正的关系,只是与略有关系(即可能是相同的想法,但不是连续的值,而是分为条形).

plot r histogram ggplot2

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

根据ggplot2的大小订购条形图,即数值

此问题询问是否根据未汇总的表格排序条形图.我的情况略有不同.这是我原始数据的一部分:

experiment,pvs_id,src,hrc,mqs,mcs,dmqs,imcs
dna-wm,0,7,9,4.454545454545454,1.4545454545454546,1.4545454545454541,4.3939393939393945
dna-wm,1,7,4,2.909090909090909,1.8181818181818181,0.09090909090909083,3.9090909090909087
dna-wm,2,7,1,4.818181818181818,1.4545454545454546,1.8181818181818183,4.3939393939393945
dna-wm,3,7,8,3.4545454545454546,1.5454545454545454,0.4545454545454546,4.272727272727273
dna-wm,4,7,10,3.8181818181818183,1.9090909090909092,0.8181818181818183,3.7878787878787876
dna-wm,5,7,7,3.909090909090909,1.9090909090909092,0.9090909090909092,3.7878787878787876
dna-wm,6,7,0,4.909090909090909,1.3636363636363635,1.9090909090909092,4.515151515151516
dna-wm,7,7,3,3.909090909090909,1.7272727272727273,0.9090909090909092,4.030303030303029
dna-wm,8,7,11,3.6363636363636362,1.5454545454545454,0.6363636363636362,4.272727272727273
Run Code Online (Sandbox Code Playgroud)

我只需要一些变量,即mqsimcs它们分组pvs_id,所以我创建了一个新表:

m = melt(t, id.var="pvs_id", measure.var=c("mqs","imcs"))
Run Code Online (Sandbox Code Playgroud)

我可以将其绘制为条形图,其中可以看到MQSIMCS之间的相关性.

ggplot(m, aes(x=pvs_id, y=value)) 
+ geom_bar(aes(fill=variable), position="dodge", stat="identity")
Run Code Online (Sandbox Code Playgroud)

但是,我希望生成的条形按MQS从左到右按降序排序.当然,IMCS值应与这些值一起订购.

我怎么能做到这一点?一般来说,给定任何熔融数据帧 - 这对于ggplot2中的图形看起来很有用,而今天我第一次偶然发现它 - 我如何指定一个变量的顺序?

sorting r bar-chart ggplot2

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

JavaScript循环的最后一次迭代

我想做这样的事情:

for (var i=1; i<=10; i++) {
   document.write(i + ",");
}
Run Code Online (Sandbox Code Playgroud)

它显示了一个结果:

1,2,3,4,5,6,7,8,9,10,
Run Code Online (Sandbox Code Playgroud)

但我想删除最后一个",",结果应该是这样的:

1,2,3,4,5,6,7,8,9,10
Run Code Online (Sandbox Code Playgroud)

javascript loops for-loop

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