我在课堂上有一个部分,我决定分成一个新部分.
当我将代码段移植到一个新类时,我注意到它在执行一个foreach循环时要慢得多.
我设法找出问题的一部分,以便我决定保存最终结果数组.
我认为如果你看到我的代码的缩短版本会更容易理解:
原始移植代码:http://pastebin.com/2iBuqmgn 更优化的移植代码:http://pastebin.com/TYU1rHwU
你会看到,在第一个例子中,我直接操纵$ this-> active_topics.
在第二个例子中,我使用局部变量,然后在foreach循环之后将局部变量保存到$ this-> active_topics.
原始循环似乎平均为1秒,而更优化的循环使用0.85平均执行.他们最终返回完全相同的内容.
为什么使用局部变量更优化的代码更有效?
我想使用 shell/bash 脚本从字符串中提取 url,如果字符串中有多个 url,则只应返回第一个。
我在下面提供了一些输入和输出字符串的示例。我猜我需要做一些正则表达式,但我不太熟悉如何在 bash/shell 中做到这一点?
Input: Take a look at this site: http://www.google.com/ and you'll find your answer
Output: http://www.google.com/
Input: http://www.google.com
Output: http://www.google.com
Input: Check out http://www.bing.com and http://www.google.com
Output: http://www.bing.com
Input: Grettings, visit <http://www.mywebsite.com> today!
Output: http://www.mywebsite.com
Run Code Online (Sandbox Code Playgroud) 我正在尝试查看名为 IP.Board 的新版本软件中所做的一些更改。但是,当我在本地存储库中运行版本 3.4.2 和 3.4.3 之间的 git show 时,有很多文件刚刚更新了版本号。
像这样:
- * IP.Board v3.4.2
+ * IP.Board v3.4.3
Run Code Online (Sandbox Code Playgroud)
有什么简单的方法可以忽略这是唯一更改的文件吗?我猜他们的版本构建器会自动更新所有包含文件中的版本号。