Python具有语法上的甜蜜列表理解:
S = [x**2 for x in range(10)]
print S;
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Run Code Online (Sandbox Code Playgroud)
在PHP中我需要做一些循环:
$output = array();
$Nums = range(0,9);
foreach ($Nums as $num)
{
$out[] = $num*=$num;
}
print_r($out);
Run Code Online (Sandbox Code Playgroud)
要得到:
数组([0] => 0 [1] => 1 [2] => 4 [3] => 9 [4] => 16 [5] => 25 [6] => 36 [7] => 49 [8] => 64 [9] => 81)
反正有没有在PHP中获得类似的列表理解语法?无论如何使用PHP 5.3中的任何新功能吗?
谢谢!
php arrays language-comparisons list-comprehension higher-order-functions
是否可以在vim/MacVim中为CoffeeScript生成ctags文件?
我想要一个特定的实现,以便用户提供一个文本块,如:
"要求 - 使用Linux,Apache 2,MySQL 5和PHP 5的LAMP环境的工作知识, - Web 2.0标准的知识 - JSON的舒适性 - 使用框架,Zend,OOP的经验 - 跨浏览器Javascripting,JQuery等 - 更好地了解版本控制软件,例如子版本."
我想要做的是自动选择相关的关键字并创建标签/关键字,因此对于上面的文本,相关的标签应该是:mysql,php,json,jquery,版本控制,oop,web2.0,javascript
我怎样才能在PHP/Javascript等中做到这一点?一个headstart真的很有帮助.
我正在开发一个小型的webapp,我需要在其中旋转形状.我想通过抓住圆上的一个点然后拖动它来旋转图像来实现这一点.
这是一个快速说明,以帮助解释事情:
我的主圆可以在画布上的任何位置拖动.我知道它的半径(r)和12点(p0)总是(cx,cy - r).我需要知道的是p1的度数(0-360º)所以我可以用Raphael.rotate()相应地旋转主圆的内容.
我已经通过一系列不同的JavaScript配方来找到这个(示例),但似乎没有一个给我0-360之间的值,而我的基本数学技能都非常不足.
在颜色选择器演示(滑动沿右边的环光标)有我想要的行为,但即使钻研的源代码后,我似乎无法准确地复制它.
任何指向我正确方向的东西将不胜感激.
我有一个使用React,Redux和React-Router 1.0.0-rc1的小型原型.原型使用Webpack进行代码分割.它目前使用getComponents
和getChildRoutes
异步加载其他路由,如下所示:
module.exports = {
path: 'donations',
getChildRoutes(location, cb) {
require.ensure([], (require) => {
cb(null, [
require('./routes/Donation'),
]);
});
},
getComponent(location, cb) {
require.ensure([], (require) => {
cb(null, require('./components/Donations'));
});
}
};
Run Code Online (Sandbox Code Playgroud)
这工作正常,直到我点击嵌套路线donations/:id
,看起来像:
module.exports = {
path: ':id',
getComponents (location, cb) {
console.log('got it', cb); // debugging
require.ensure([], (require) => {
console.log('called it', cb); // debugging
cb(null, require('./components/Donation'));
});
}
};
Run Code Online (Sandbox Code Playgroud)
当我导航到这条路线(例如/donations/123
)时,路由被触发,bundle.js文件被加载,并且两者都console.log
出现在控制台中,所以我知道路由被加载到内存中.但是,组件未安装和呈现.
console.log的结果:
got it function (error, value) …
Run Code Online (Sandbox Code Playgroud) 在一个ActiveRecord(CakePHP的味)设置我有视频和二进制位HasAndBelongsToMany关联安装:仓可以存储ň到影片的引用,和视频可以属于ñ垃圾箱.
我需要能够手动设置和存储特定彬内的视频的显示顺序(所以客户端可以有自己的影片在宾内以特定的顺序.)我最初的想法是建立在滨存储的字段视频ID数组按需要显示的顺序排列.这是处理这个问题最有效的方法吗?
如果是这样,当我再拿到HABTM查询结果,究竟是重新整理干净/最有效的方式返回查询的ID的数组排序匹配吗?
与Bin关联的视频将作为数组返回:
[Video] => Array
(
[0] => Array
(
[id] => 49b2de95-0338-48b9-bc88-01ba35664358
...
)
[1] => Array
(
[id] => 49b1ccad-b770-410e-be46-03a035664358
...
)
Run Code Online (Sandbox Code Playgroud)
或者有没有更好的方法来实现我在不使用HABTM关联的情况下尝试做的事情?
提前致谢 -
我目前正在使用JavaScript处理Euler项目中的问题。在大多数情况下,我一直在使用for
循环来遍历问题,但想使用递归函数。但是,似乎所有JavaScript引擎都限制了它们可以处理的递归数量。
我编译/安装了SpiderMonkey以尝试从Shell运行,但仍然得到18: InternalError: too much recursion
无论如何,有没有增加SpiderMonkey中的递归限制,或者这通常是一个坏主意。
代码示例:
function cycle(x)
{
if (check_divisble(x))
{
print(i + ' is divisble by 1 - 20' + '\n');
return;
}
x+=20;
cycle(x);
}
cycle(50400);
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助。
在博客上,我希望通过PHP脚本传递博客条目的所有文本,以便将引号和其他一些项目处理成漂亮的印刷字符.
有问题的博客文本包含HTML,特别是将突出显示<pre><code> ... </code></pre>
块中包含的代码片段.这些code
块可以随机出现在文本中的多个位置(很像Stack Overflow!)
我不希望那些由我将使用的排版脚本处理的代码块. 处理本身不是重点,能够有选择地应用它.
我已经能够写一个正则表达式来找到这些块:
preg_match_all('/(<pre><code>(.*?)<\/code><\/pre>)/s', $text, $matches);
Run Code Online (Sandbox Code Playgroud)
但我不确定最好的方法是处理文本的其余部分,然后将这些块插回正确的位置.
谢谢你的帮助!
php ×4
javascript ×2
activerecord ×1
arrays ×1
cakephp ×1
coffeescript ×1
ctags ×1
mysql ×1
raphael ×1
react-router ×1
reactjs ×1
recursion ×1
redux ×1
regex ×1
spidermonkey ×1
sql ×1
stop-words ×1
svg ×1
tags ×1
trigonometry ×1
vim ×1