我有一个像这样的 5 维数组
a=np.random.randint(10,size=[2,3,4,5,600])
a.shape #(2,3,4,5,600)
Run Code Online (Sandbox Code Playgroud)
我想获取第二维的第一个元素,以及最后一个维度的几个元素
b=a[:,0,:,:,[1,3,5,30,17,24,30,100,120]]
b.shape #(9,2,4,5)
Run Code Online (Sandbox Code Playgroud)
如您所见,最后一个维度自动转换为第一个维度。为什么?以及如何避免这种情况?
我正在使用Rails 4
我按照https://github.com/pdfkit/pdfkit的说明进行操作
在控制器中我有
respond_to do |format|
format.html {render layout:'application'}
format.csv {send_data @testdatares.to_csv}
format.pdf {
html = render_to_string(:layout => 'application' , :action => "testpage.html.erb");
kit = PDFKit.new(html);
kit.stylesheets << "#{Rails.root}/app/assets/stylesheets/application.css";
send_data(kit.to_pdf, :filename => "some_name.pdf", :type => 'application/pdf')
}
end
Run Code Online (Sandbox Code Playgroud)
在application.html.erb我有
<!DOCTYPE html>
<html>
<head>
<title>STNEW</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= javascript_include_tag "http://www.google.com/jsapi", "/usr/local/lib/ruby/gems/2.1.0/gems/chartkick-1.3.2/app/assets/javascripts/chartkick",media:'all' %>
<%= csrf_meta_tags %>
</head>
Run Code Online (Sandbox Code Playgroud)
请注意,我已经使用了chartkick.js的绝对路径
现在在html中,完整地显示了chartkick内容.
但是在pdfkit生成的pdf文件中,所有chartkick内容都显示为"正在加载",而正确显示了文本
谷歌搜索但没有找到答案
以下代码将包含@populations中的内容
@populations=("EUR","AFR","ASN","AMR");
print @populations,"\n"; #will show EURAFRASNAMR
foreach (@populations)
{
$filepath="tmp.txt"; #whatever text file you like
open(FILE,"<$filepath");
while(<FILE>)
{
}
}
print @populations,"\n"; #will print nothing
Run Code Online (Sandbox Code Playgroud)
如果改为
foreach $i (@populations)
Run Code Online (Sandbox Code Playgroud)
然后阵列将不会被吃掉.
或者如果标记while循环,则不会吃掉该数组.
我不是一个perl guru,但有几年的经验.
谁能告诉我为什么?它是perl的一个bug吗?