我的问题可能很愚蠢,但我认为不是.
我在Ruby on Rails后端使用flex来开发丰富的互联网应用程序.最近flash被攻击了,一个例子就是Steve Job 对Flash的看法.
我认为flex是一个很棒的工具,但老实说我真的很想拥有一个像flex那样富有成效但符合开放标准的工具.
对我来说,在一个完美的世界里,我会像现在一样编写MXML代码,而Flex Builder会构建一个纯粹的html5前端.
我的问题是,它可能会发生吗?它可以做任何梦想,对吧...... :-)
当我接受参数时,如何在没有复合条件的情况下检查两个是否同时出现
即
#!/usr/bin/python
import random, string
import mymodule
import sys
z = ' '.join(sys.argv[2:])
q = ''.join(sys.argv[3:])
a = ''.join(sys.argv[2:])
s = ' '.join(sys.argv[1:])
flags = sys.argv[1:5]
commands = [["-r", "reverse string passed next with no quotes needed."], ["-j", "joins arguments passed into string. no quotes needed."], ["--palindrome", "tests whether arguments passed are palindrome or not. collective."],["--rand","passes random string of 10 digits/letters"]]
try:
if "-r" in flags:
if "-j" in flags:
print mymodule.reverse(q)
if not "-j" in flags:
print mymodule.reverse(z) …Run Code Online (Sandbox Code Playgroud) 我有一个std::vector的std::strings含有类似这样的数据:
[0] = ""
[1] = "Abc"
[2] = "Def"
[3] = ""
[4] = "Ghi"
[5] = ""
[6] = ""
Run Code Online (Sandbox Code Playgroud)
如何获得包含从 1 到 4 的 4 个字符串的向量?(即我想从向量的开头和结尾修剪所有空白字符串):
[0] = "Abc"
[1] = "Def"
[2] = ""
[3] = "Ghi"
Run Code Online (Sandbox Code Playgroud)
目前,我正在使用一个正向迭代器来让我的方式"Abc"和反向迭代器让我的方式回到我的方式"Ghi",然后使用这些迭代器构建一个新的向量。这种方法有效,但我想知道是否有更简单的方法来修剪这些元素。
PS我是一个C++菜鸟。
另外,我应该提到向量可能完全由空白字符串组成,在这种情况下,0 大小的向量将是所需的结果。
我正在使用python进行一些项目.我有一个客户端和一个服务器.服务器侦听连接,一旦收到连接,它就等待来自客户端的输入.这个想法是客户端可以连接到服务器并执行系统命令,如ls和cat.这是我的服务器代码:
import sys, os, socket
host = ''
port = 50105
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
print("Server started on port: ", port)
s.listen(5)
print("Server listening\n")
conn, addr = s.accept()
print 'New connection from ', addr
while (1):
rc = conn.recv(5)
pipe = os.popen(rc)
rl = pipe.readlines()
file = conn.makefile('w', 0)
file.writelines(rl[:-1])
file.close()
conn.close()
Run Code Online (Sandbox Code Playgroud)
这是我的客户端代码:
import sys, socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = 'localhost'
port = input('Port: ')
s.connect((host, port))
cmd = raw_input('$ ')
s.send(cmd)
file = s.makefile('r', 0) …Run Code Online (Sandbox Code Playgroud) public class Converter
{
private Logger logger = Logger.getLogger(Converter.class);
public String convert(String s){
if (s == null) throw new IllegalArgumentException("input can't be null");
logger.debug("Input = " + s);
String r = s + "abc";
logger.debug("Output = " + s);
return r;
}
public Integer convert(Integer s){
if (s == null) throw new IllegalArgumentException("input can't be null");
logger.debug("Input = " + s);
Integer r = s + 10;
logger.debug("Output = " + s);
return r;
}
}
Run Code Online (Sandbox Code Playgroud)
以上两种方法非常相似,所以我想创建一个模板来做类似的事情并将实际工作委托给approriate类.但我也希望在不更改模板的情况下轻松扩展此框架工作.例如:
public class ConverterTemplate …Run Code Online (Sandbox Code Playgroud) 在我的设置中,我有一个中央Hg仓库,我正在推动我的本地更改.在我的本地克隆中说我有一系列本地提交然后我想将更改推送到中央存储库.如何在不包含我所做的所有"小"本地提交的情况下仅推送最终状态?
我想要这个,因为有时候我不想用我所做的所有小的本地提交来污染中央回购的历史.
我设置了一个简单的程序来测试get访问器中的代码是如何执行的(因为我在另一个项目中遇到了一些问题),并发现了一些非常奇怪的东西:
class Program {
static void Main(string[] args) {
var test = new TestClass();
var testBool = test.TestBool;
}
}
public class TestClass {
private bool _testBool = true;
public bool TestBool {
get {
if (_testBool) {
Console.WriteLine("true!");
} else {
Console.WriteLine("false! WTF!");
}
_testBool = false;
return _testBool;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我期待输出
真正!
但我得到的却是
真正!
假!WTF!
这是怎么回事?
如本回答所述,Array.new(size, object)创建一个size引用相同的数组object.
hash = Hash.new
a = Array.new(2, hash)
a[0]['cat'] = 'feline'
a # => [{"cat"=>"feline"},{"cat"=>"feline"}]
a[1]['cat'] = 'Felix'
a # => [{"cat"=>"Felix"},{"cat"=>"Felix"}]
Run Code Online (Sandbox Code Playgroud)
为什么Ruby会这样做,而不是做一个dup或者clone一个object?
我正在使用mechanize / cookiejar / lxml来读取页面,它适用于某些页面,但不适用于其他页面。我遇到的错误是标题中的错误。由于它们不是SFW,因此无法在此处发布页面,但是有没有办法解决?基本上,这就是我要做的:
import mechanize, cookielib
from lxml import etree
br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(False)
br.set_handle_robots(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.10 maverick Firefox/3.6.13')]
response = br.open('...')
tree = etree.parse(response) #error
Run Code Online (Sandbox Code Playgroud)
之后,我获得根目录并在文档中搜索所需的值。显然iterparse不会使它崩溃,但是目前,我认为它不仅仅是因为我没有使用它处理任何事情。另外,我还没有弄清楚如何用它来搜索东西。
我尝试禁用gzip并启用发送引荐来源网址,但都不能解决问题。我也尝试将源代码保存到磁盘并仅出于此目的从那里创建树,并且遇到相同的错误。
编辑
我得到的答复似乎很好,如我得到建议使用print repr(response)<response_seek_wrapper at 0xa4a160c whose wrapped object = <stupid_gzip_wrapper at 0xa49acec whose fp = <socket._fileobject object at 0xa49c32c>>>。我还可以使用read()方法保存响应,并检查保存的.xml是否可在浏览器及其他所有设备上正常工作。
另外,在其中一个页面中,有个’错误提示我:“ lxml.etree.XMLSyntaxError:未定义实体'rsquo',第17行,第7054列”。到目前为止,我已经用正则表达式替换了它,但是有解析器可以处理吗?即使使用下面建议的lxml.html.parse,我也遇到了此错误。
关于突出显示的文件,我的意思是当我使用gEdit打开它时,它会执行以下操作:http ://img34.imageshack.us/img34/9574/gedit.jpg
什么是打破子程序并继续处理脚本其余部分的最佳方法?
即
#!/usr/bin/perl
use strict;
use warnings;
&mySub;
print "we executed the sub partway through & continued w/ the rest
of the script...yipee!\n";
sub mySub{
print "entered sub\n";
#### Options
#exit; # will kill the script...we don't want to use exit
#next; # perldoc says not to use this to breakout of a sub
#last; # perldoc says not to use this to breakout of a sub
#any other options????
print "we should NOT see this\n";
}
Run Code Online (Sandbox Code Playgroud)