小编Dar*_*kar的帖子

Coffeescript中的链接承诺

有没有办法Promises在Coffeescript中链接在一起.例如,考虑以下javascript代码,

return $.getJSON('/api/post.json')
  .then(function(response) {
    // do something
  })
  .then(function(response) {
    // do something
  })
  .then(null, function(err) {
    // do something
  });
Run Code Online (Sandbox Code Playgroud)

每个then's都是可选的,最终then需要由函数返回.目前我在coffeescript中写这个,

promise = $.getJSON('/api/post.json')
promise = promise.then (response) ->
  // do something

promise = promise.then (response) ->
  // do something

promise = promise.then null, (err) ->
  // do something

return promise
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?谢谢.

coffeescript

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

使用list或splat参数调用函数

有没有办法用参数列表调用vim函数.我的参数列表来自另一个函数中的可选splat参数,我需要一种方法将这些参数传递给目标函数.

目标函数是,

function! run_hello(cmd, ...)
  echo 'run_hello'
  echo a:cmd
  echo a:000
endfunction
Run Code Online (Sandbox Code Playgroud)

将要调用的函数run_hello是,

function! hello(...)
  call run_hello('foo', the splats here)
endfunction
Run Code Online (Sandbox Code Playgroud)

它将被调用,具有不同的参数.

call hello('lorem', 'ipsum', 'dolor')
Run Code Online (Sandbox Code Playgroud)

我目前正在使用hello(arglist)a:000向前传递列表.但我想知道是否可以调用一个带有列表作为参数的函数,然后成为它的常规参数列表.

像JavaScript的东西,

foo.apply(this, ['a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)

谢谢.

vim

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

多个Composer Autoloader的执行顺序

我有一个包含多个模块的项目.每个模块本身都使用Composer,并且大部分独立于其他模块.

但是,某些模块共享具有不同版本的依赖项.这些依赖项在大多数情况下是向后兼容的,并使用语义版本控制.

我想确保具有最高语义版本的依赖关系优先.这将允许所有模块共享相同的依赖项,并且这些依赖项的向后兼容性将确保没有任何中断.

我的计划是通过控制我调用require_once各个自动加载器的顺序来做到这一点.下面的代码是一个示例,实际上是生成的.

require_once(__DIR__ . '/moduleA/vendor/autoload.php');
require_once(__DIR__ . '/moduleB/vendor/autoload.php');
require_once(__DIR__ . '/moduleC/vendor/autoload.php');
Run Code Online (Sandbox Code Playgroud)

我做的主要假设是,如果在另一个之前需要自动加载器,它将优先于后者.

我发现但事实恰恰相反.最后出现的自动加载器似乎优先于其他自动加载器.

考虑一个类Foo\MyClass是这些模块之间共享的依赖关系.我期待上面的加载顺序,Foo\MyClass将从中获取moduleA/vendor/....

相反,它正在形成moduleC/vendor/....

我可以翻转生成的顺序以解决此问题,但我想验证PHP自动加载器是否存在可预测的顺序.

是否有PHP执行自动加载器的顺序?多个Composer自动加载器会以任何方式影响这个吗?

谢谢.

php composer-php

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

将Modernizr正确添加到Wordpress?

这是我第一次发帖,所以对我发布的任何建议都非常感谢.

链接到网站:http://rightbraingroup.com/services-new-css-style/

我遇到了一个问题,试图让这个惊人的CSS函数工作 - modernizr和css加载在Wordpress中.我尝试了很多东西,比如在标题中添加脚本,注册和输入modernizr.custom.js文件.我还补充道.这些选项都没有奏效.我只是在学习现代化,我真的被卡住了.任何帮助表示赞赏.

下面是在不使用Enqueing的情况下将js和css包含到Wordpress中的方法(这是正确的方法).

<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/modernizr.custom.js"></script>

<link rel="stylesheet" type="text/css" href="<?php echo get_template_directory_uri(); ?>/css/component.css" media="screen" />
Run Code Online (Sandbox Code Playgroud)

这是我注册和Enqued js文件的方式

// script manager template to register and enqueue files
function childtheme_script_manager() {

    // wp_register_script template ( $handle, $src, $deps, $ver, $in_footer );

    // registers modernizr script, stylesheet local path, no dependency, no version, loads in header
    wp_register_script('new_service', get_stylesheet_directory_uri() . '/js/modernizr.custom.js', array('jquery'), false, false);

    // enqueue the scripts for use in theme
    wp_enqueue_script ('new_service');

}
add_action('wp_enqueue_scripts', …
Run Code Online (Sandbox Code Playgroud)

wordpress modernizr

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

更改 PHPUnit 中测试方法的名称

method有没有办法更改PHPUnit 用于查找测试的名称?我想将默认test前缀更改为使用 BDD 样式并开始it

我的搜索只找到了使用 phpunit.xml 配置更改文件名的方法,

<directory prefix="test-" suffix=".php">./tests/</directory>
Run Code Online (Sandbox Code Playgroud)

谢谢。

php phpunit

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

没有换行的Vim echo或echomsg

没有自动插入的换行符,是否有方法echoechomsgvim中的消息?我已经尝试使用退格符\b来擦除回声后的换行符,没有运气.

echo "foo"
echo "\b \b"
echo "bar"
"long list of such words to echo
Run Code Online (Sandbox Code Playgroud)

我需要将其显示为foobar.目前,它在新行上显示每条回显消息.

FOO

酒吧

我可以缓冲回声,但我想避免缓冲,因为回声之间可能存在延迟,即: - 我想显示进度.谢谢.

vim

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

将局部变量传递给在eval中创建的函数,即: - viml中的闭包

我在运行时在execute/eval'd字符串中创建一个动态函数.该函数是根据调用生成器函数时出现的不同变量构建的.发电机功能如下,

function! NewCallback(method, opts) 
  let my_opts = a:opts
  let function_name = "g:MyDynamicFunction_" . a:method

  let body  = "function! " . function_name . "(...)\n"
  let body .= "  echo 'running " . function_name . "'\n"
  let body .= "  echo my_opts\n"
  let body .= "endfunction"

  execute body
  return function_name
endfunction
Run Code Online (Sandbox Code Playgroud)

我正在使用如下功能.首先,我创建一个回调,它给出了作为结果生成的函数的名称.然后我用以下函数调用此函数:call.

let callback = NewCallback('foo', { 'a': 1, 'b': 2 })
execute(":call " . callback . "(1, 2, 3)")
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是在生成的函数内访问NewCallback范围内的变量.在这里,我需要访问生成函数内部的my_opts本地内容.NewCallbackMyDynamicFunction_foo

目前它给了我 undefined variable my_ops

有没有办法在viml中这样做.即: …

vim

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

从vimscript中的字符串替换ANSI颜色代码

我在vimscript中有一个字符串变量,其中包含一些用于突出显示的ANSI转义字符.字符串看起来像,

^[[32m MyStringBody ^[[0m
Run Code Online (Sandbox Code Playgroud)

我把字面上的转义码放在vim显示它,它是转义序列 - Ctrl-v- [.

我想用substitute命令替换所有这些转义字符的出现.

substitute(my_variable, pattern, '', 'g')
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我使用正则表达式模式,将删除这些转义字符.谢谢.

vim

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

标签 统计

vim ×4

php ×2

coffeescript ×1

composer-php ×1

modernizr ×1

phpunit ×1

wordpress ×1