小编vol*_*ron的帖子

如何进行字符串的突变?JavaScript

如果默认情况下对象是可变的,为什么在这种情况下它不起作用?如何制作对象“s”中键“a”的变异值?

var s = {
  a: "my string"
};

s.a[0] = "9"; // mutation
console.log(s.a); // doesn't work
Run Code Online (Sandbox Code Playgroud)

javascript mutable mutation

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

Greasemonkey - 图像没有显示

在Greasemonkey中,我正在尝试使用在线查找的图像的本地副本.图像暂时存储在C:\ temp中.

这不起作用:

var b = document.body;
b.style.background = '#ccc url("file:///C:/temp/bg.jpg") repeat-x top left';
Run Code Online (Sandbox Code Playgroud)

在Firebug中,我可以将鼠标悬停在样式窗口中的路径上,图像将弹出,显示图像在那里并且路径正确,但Firefox只是没有显示它.我甚至尝试重绘页面:

  setTimeout(function(){element.className = element.className;},500);
Run Code Online (Sandbox Code Playgroud)

如果我使用原始http url(http://somedomain/bg.jpg)的路径,它将起作用,但试图避免这种情况.我不确定为什么渲染本地图像时出现问题.

javascript css greasemonkey background-image

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

JavaScript:如何通过AJAX打开返回的文件

这类似于:如何使用JavaScript打开文件?

目标:在图像的双击上检索/打开文件

function getFile(filename){
   // setting mime this way is for example only
   var mime = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';

   jQuery.ajax({ url      : 'get_file.pl',
                 data     : {filename:filename}, 
                 success  : function(data){
                               var win = window.open('','title');
                               win.document.open(mime);
                               win.document.write(data);
                               win.document.close();
                            }
               });
}

jQuery('#imgID').dblclick(function(){ 
   getFile('someFile.docx');
});
Run Code Online (Sandbox Code Playgroud)

我正在做这件事,但我认为上面的内容适用于文本文件,但不适用于二进制文件.是否有适当的插件?理想的是在浏览器(或应用程序)中打开文件,而不是下载,但我怀疑这是一个梦想.如果必须使用保存/打开对话框下载文件,那很好.


编辑:

我忘了提到的一条信息是我希望这是一个POST请求.这就是我开始研究AJAX的部分原因.我已经看到了创建表单/ iframe来做类似事情的变通方法,但我一直在寻找更好的返回信息处理程序.

javascript jquery download

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

Perl sub里面有一个sub

我想在另一个子里面有一个子,

sub a {
    sub b {
    }
}
Run Code Online (Sandbox Code Playgroud)

我想sub b为每次调用创建一个新实例sub a.有没有办法在Perl中执行此操作?

当我运行上面的代码,并打印的地址sub bsub a我总是得到相同的地址sub b一样

sub a {
    print \&b;
    sub b{
    }
}
Run Code Online (Sandbox Code Playgroud)

Perl Monks上的这个链接说我们可以做到这一点,但我总是看到相同的地址sub b.

有没有办法sub b为每次调用创建一个新实例sub a

perl

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

Shell脚本:赋值或运算符(a = b || c)

正如标题所描述的那样,a= b || c在shell脚本中执行or-assignment(例如)的正确方法是什么,特别是csh vs bash?我无法测试这个,所以也许上面的例子可行.

我认为这在脚本语言中很常见,但对于那些不太了解的人来说,变量a将保留bif truthy的值,否则保留值c.在该示例中bc是表达式.

用例通常设置为a某种值(如果提供),否则使用默认值(例如a= $1 || "Foo").


由于这个问题并非如此,我不确定接近投票的原因是什么:

  • 模糊
  • 残缺

如果您需要进一步解释并需要一些修改,请发表评论.

bash csh sh assignment-operator logical-or

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

总和函数currying

我正在尝试编写一个执行以下操作的求和函数:

sum(1)(2)(3) => returns 6

但是,我的解决方案很难.我知道我犯了一个愚蠢的错误,有人能指出我正确的方向吗?

我的实施:

function add(args) {
  let sum = args[0];
  let func = function(...args2) {
    if (!args2[0]) return sum;
    sum += args2[0];
    return func;
  }
  return func;
}


add(1)(2)(3);
Run Code Online (Sandbox Code Playgroud)

另外,我可以编写一个执行以下操作的通用函数吗?add(1)(2)(3)或add(1)(2)(3)()=> 6

javascript currying

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

jQuery:修改附加对象的CSS

$('#foo').css({color:'black'}).append('<div>bar</div>').css({color:'red'});
Run Code Online (Sandbox Code Playgroud)


鉴于上述情况,该css()方法适用于foo,但是如何才能将其应用于包含"bar"的div?

我可以想到在同一个执行行中执行此操作的唯一方法是在其中创建一个jQuery div对象append(function(){ ... })并在其中应用样式.



注意:我正在尝试避免内联样式(例如.append('<div style="color:red;">bar</div>')).


更新:我实际上也在将css应用于foo; 该示例已更新以反映这一点

javascript jquery jquery-ui

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

Perl - 在找到正则表达式之前执行{read file}.查找匹配但不会突破循环

我想读一个文件来提取几行信息.我创建了一个do ..直到忽略文件行,直到我到达我真正感兴趣的部分,其中包含单词V2000.我更喜欢使用一般的正则表达式而不是寻找V2000.

匹配被找到,但它没有突破do .. until循环,因此我无法提取紧接着之后的信息

有谁知道为什么?

do {$line = <IN_SDF>;} until ($line =~ m/V\d+/);
Run Code Online (Sandbox Code Playgroud)

其余的代码是:

my @aline = split ('', $line);
my $natoms = $aline[0];

my $out= shift;

do{
     <IN_SDF>;
     @aline = split ('', $_);

 print OUT_3D $aline[3]."\t".$aline[0]."\t".$aline[1]."\t".$aline[2]."\n";

} until --$natoms == 0;
Run Code Online (Sandbox Code Playgroud)

regex perl

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

Perl:如何检查CGI :: header是否已被调用?

使用CGI :: Carp,我想用它set_die_handler来优雅地输出错误信息.

网页预计不会遇到错误,但如果确实发生并且它print header已经在调用之后的某个地方发生,它会将标题作为文本输出,并且页面很可能被错误地格式化.

正如问题所述,我想检查是否已经调用了CGI :: header().这可以通过使用全局变量并在我可能调用函数的每个位置设置它来完成,但我希望这可能已经在内部执行; 或者可能有办法解析已发送到STDOUT的内容.非工作代码的示例:

BEGIN {
   set_die_handler(
       sub {
           print header if not CGI::header_called;
           # or possibly,something like: if (<STDOUT> !~ /Content\-Type/)
           ...
       });
}
Run Code Online (Sandbox Code Playgroud)

注意:
与CGI.pm的年龄相关的注释被接受,但也很快被驳回:)它意识到Perl具有MVC框架

perl cgi cgi.pm

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

从控制器调用应用程序助手的最佳方法是什么?

我想格式化 JSON 响应的值,使其与视图中的显示方式相同。

考虑对象,user = { id: 323 };创建了一个辅助方法 ( format_name) 以使该值在视图中更容易呈现:

<div>
  <%= format_name(user[:id]) %> 
  <% # appears as: <span class="user" data-user-id="323">John Doe</span> %>
</div>
Run Code Online (Sandbox Code Playgroud)

由于已知原因,这在控制器中不可用。以下失败:

class ApplicationHelper

  def format_name
    # ...
  end
end


class UserController < ApplicationController

  def view

    # ...<setup user info>...

    user_formatted = {
      id: user[:id], 
      formatted: format_name(user[:id]) # helper method
    }

    respond_to do |format|
       format.json { render json: user_formatted.to_json }
    end
  end

end
Run Code Online (Sandbox Code Playgroud)

我很好奇如何在控制器中使用辅助方法。

我试过了:

  • view_context.format_name
  • 创建一个部分(例如,_view.json.erb)来调用助手并渲染 json
  • helper_method :format_name …

ruby-on-rails view-helpers

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