我正在阅读Llama(Learning Perl)一书,并正在进行练习.对于这个练习:
编写一个程序,在单独的行上读取字符串列表,直到输入结束,并以相反的顺序打印出列表.[ .]
好吧,我已经想出了一个更简单的方法(我记得你可以reverse在数组上使用......到目前为止,Perl是如此......真棒),但我想知道为什么这个没有用.
#!/usr/bin/perl
use 5.010;
chomp(@strings = <STDIN>);
foreach (@strings){
push @revstrings, $_;
}
while($i++ <= scalar @revstrings){
say pop @revstrings;
}
Run Code Online (Sandbox Code Playgroud)
它是这样的:
$ ./first
one
two
three
[^ D]
三个
两个
$
如果我<=将while循环更改为just,则输出相同<.
我知道在程序集中编写任何东西,或者将程序集添加到任何程序都会损害其可移植性.但是,有多糟糕?我的意思是,这些天基本上所有PC都是x86或x64,对吗?那么,如果我将汇编嵌入到C程序中,为什么不管它到哪里都不能编译?
当您真正深入了解特定处理器的特定怪癖,从一段代码中挤出每一滴性能时,这种不可移植性的概念是否只是指的?
如果我没记错的话,PC游戏"过山车大亨"几乎完全用汇编语言写成.那么......它真的有多么难以置信?
我正在寻找一个完整的安全指南列表,用于在Apache(Linux)服务器上编程和部署PHP Web站点和应用程序.基本上,在完成项目之前要运行的"安全检查列表".也就是说,
我在网上和这个论坛上做了一些搜索,但找不到一份全面,简洁,完整的指南清单.
提前致谢.
我正在开始我的第一个C#项目,我想创建一个"表单设计器"(就像VS中的那个).
我们的想法是,将有一个带有限工具箱的可视化表单设计器,它将生成Python代码(后来更多)以创建相同的表单.
问题是,我不知道如何开始.首先,我在VS中拥有表单设计器:如何制作"表单内的表单"?
接下来......我不知道这会有多复杂.我想我可以在单击表单时在表单上创建的每个控件旁边显示小框,用于调整大小,并在双击或其他内容时使文本框显示在其上,以更改其中的文本......这样的事情.
所以我想知道的另一件事是:
我确实有C和C++的编程经验,我已经做了很多年的PHP并且最近开始使用Python.我在VB6中动态生成了表单.鉴于这种经历,我对这个项目的态度是什么?
我从python解释器运行以下代码,并期望insert语句失败并抛出某种异常.但它没有发生:
Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> conn = sqlite3.connect("test.db")
>>> conn.executescript("""
... pragma foreign_keys=on;
... begin transaction;
... create table t1 (i integer primary key, a);
... create table t2 (i, a, foreign key (i) references t1(i));
... commit;
... """)
<sqlite3.Cursor object at 0x0229DAA0>
>>> c = conn.cursor()
>>> c.execute("insert into t2 values (6, 8)")
<sqlite3.Cursor object …Run Code Online (Sandbox Code Playgroud) 我试图解决开普勒方程,作为在给定时间内找到轨道体的真实异常的一个步骤.事实证明,开普勒的方程很难解决,维基百科页面使用微积分描述了这个过程.好吧,我不知道微积分,但我知道解决方程涉及无数个集合,这些集合产生了与正确答案越来越接近的近似值.
我无法从数学上看到如何计算这个,所以我希望有更好数学背景的人可以帮助我.我怎么能在计算上解决这个野兽?
FWIW,我正在使用F# - 我可以计算出这个等式所需的其他元素,只是这部分我遇到了麻烦.
我也对接近时间,近点距离和离心率的真实异常的方法持开放态度
这个问题是针对MySQL的,因为我正在使用它 - 但我认为几乎每个主要的数据库实现都可能相同或类似.
密钥如何在数据库中工作?我的意思是,当你将一个字段设置为"主键","唯一键"或"索引"时 - 每个字段的作用是什么,我何时应该使用每个字段?
现在我有一个包含几个字段的表,其中一个是GUID(减去它周围的{和}).我将GUID字段设置为主键,我看到它创建了一个二叉树.因此,它提高了搜索性能 - 但与其他类型的键区别的是什么?
我意识到这可能与编程无关(虽然它与开发有关) - 我不知道究竟要问这个问题,但是我最常用的是所以我会问这里.必要时迁移
我正在尝试创建一个非常简单的数据库抽象,其中一部分使用准备好的查询.
现在,我有一个函数接受一个查询字符串和一个值数组,如下所示:
$query = "SELECT `first_name`, `last_name` FROM ::table_name WHERE `id` = :id"
$values = array(
'table_name' = $this->table_name,
'id' = $user_id,
);
Run Code Online (Sandbox Code Playgroud)
这将创建一个这样的查询:
SELECT `first_name`, `last_name` FROM `sometablename` WHERE `id` = '1234'
Run Code Online (Sandbox Code Playgroud)
我的问题是:
我正在使用preg_replace_callback从查询字符串中获取:: identifiers和:标识符,然后将其发送到清理函数.问题是,我还需要发送values数组,以便函数可以从regexp获取匹配,使用该键获取values数组中的项,转义值,将其包装在右引号中然后返回.
但我无法将任何额外信息传递给回调.我可以使用私有静态变量,但这非常hacky.
另一种方法是什么?
在Django中构建聊天应用程序时,我应该如何实现反向AJAX?我看过Django-Orbited,根据我的理解,这会将一个彗星服务器放在HTTP服务器前面.如果我只是运行Django开发服务器,这似乎很好,但是当我开始从mod_wsgi运行应用程序时,这是如何工作的?如何让轨道服务器处理每个请求规模?这是正确的方法吗?
我已经看过另一种方法(长轮询)似乎会起作用,虽然我不确定会涉及到什么.客户端是否会请求一个可以存放在自己的线程中的页面,以免阻塞其余的应用程序?它会阻止吗?客户要求的脚本是否必须不断轮询信息?
哪种方法更合适?哪个更便携,可扩展,更理智等?除了客户端查询消息之外,还有其他一些我忽略的好方法吗?
我想这个问题一般都是关于生命周期的,但我特别是因为你不能写出他们的类型而对闭包有困难.
这个例子有点做作 - 我刚刚开始学习Rust,这是我一直挂着的东西.
这个程序不会编译:
fn main () {
let mut list: Vec<&Fn() -> i32> = Vec::new();
{
list.push(&|| 1);
}
}
Run Code Online (Sandbox Code Playgroud)
因为:
src/main.rs:5:25: 5:24 error: borrowed value does not live long enough
src/main.rs:5 list.push(&|| 1);
^~~~
src/main.rs:2:50: 7:2 note: reference must be valid for the block suffix following statement 0 at 2:49...
src/main.rs:2 let mut list: Vec<&Fn() -> i32> = Vec::new();
src/main.rs:3
src/main.rs:4 {
src/main.rs:5 list.push(&move || 1);
src/main.rs:6 }
src/main.rs:7 }
src/main.rs:5:9: 5:26 note: ...but borrowed value is …Run Code Online (Sandbox Code Playgroud)