我希望能够枚举Qt所拥有的资源的路径,例如:
:/new/prefix/blabla.jpg
我认为BeautifulSoup将能够处理格式错误的文档,但是当我发送页面的源代码时,会打印下面的回溯:
Traceback (most recent call last):
File "mx.py", line 7, in
s = BeautifulSoup(content)
File "build\bdist.win32\egg\BeautifulSoup.py", line 1499, in __init__
File "build\bdist.win32\egg\BeautifulSoup.py", line 1230, in __init__
File "build\bdist.win32\egg\BeautifulSoup.py", line 1263, in _feed
File "C:\Python26\lib\HTMLParser.py", line 108, in feed
self.goahead(0)
File "C:\Python26\lib\HTMLParser.py", line 150, in goahead
k = self.parse_endtag(i)
File "C:\Python26\lib\HTMLParser.py", line 314, in parse_endtag
self.error("bad end tag: %r" % (rawdata[i:j],))
File "C:\Python26\lib\HTMLParser.py", line 115, in error
raise HTMLParseError(message, self.getpos())
HTMLParser.HTMLParseError: bad end tag: u"", at line 258, column 34
Run Code Online (Sandbox Code Playgroud)
它应该不能处理这种东西吗?如果它可以处理它们,我怎么能这样做?如果没有,是否有一个可以处理格式错误的文件的模块? …
我可以有这样的构造函数:
sub create {
my $class = shift;
my $self = {};
return bless $self,$class;
}
Run Code Online (Sandbox Code Playgroud)
当我创建一个对象时,我可以这样写:
my $object = create Object;
Run Code Online (Sandbox Code Playgroud)
这是:
my $object = Object::create("Object");
Run Code Online (Sandbox Code Playgroud)
唯一相当于那个构造函数的调用?
我知道我可以使用Hpricot解析XML,但它是否也可以创建文件?我发现的所有教程都只演示了解析.
我对如何让这个工作感兴趣:
me = "this is a string"
class << me
alias :old<< :<<
def <<(text)
old<<(text)
puts "appended #{text}"
end
end
Run Code Online (Sandbox Code Playgroud)
我希望当某些内容被附加到me变量时,该对象将使用重新定义的方法.
如果我尝试运行它,我会syntax error, unexpected ':', expecting kEND接受:<<.
我正在编写一个具有处理文本文件的函数的模块.我是新手测试,所以我决定一起去Test::More.这是我的测试文件现在的样子:
use mymod;
use 5.10.0;
use strict;
use warnings;
use Test::More 'no_plan';
my $file_name = "test.file";
sub set_up {
my $self = shift;
open(my $handle,">",$file_name) or die "could not create file test.file $!\n";
# generate a sample text file here
close($handle);
}
sub tear_down {
my $self = shift;
unlink($file_name) or die "could not delete $file_name $!\n";
}
set_up();
open(my $handle,$file_name) || die "could not open $file_name $!\n";
my @lines = mymod->perform($handle);
is_deeply(\@lines,["expected line","another expected line"]);
close($handle);
tear_down(); …Run Code Online (Sandbox Code Playgroud) 我如何访问对象被实例化的当前包的符号表?例如,我有这样的事情:
my $object = MyModule->new;
# this looks in the current package, to see if there's a function named run_me
# I'd like to know how to do this without passing a sub reference
$object->do_your_job;
Run Code Online (Sandbox Code Playgroud)
如果在do_your_job我使用的实现中__PACKAGE__,它将在MyModule包中搜索.我怎么能让它看起来正确的包装?
编辑:我会尽量让这个更清楚.假设我有以下代码:
package MyMod;
sub new {
return bless {},$_[0]
}
sub do_your_job {
my $self = shift;
# of course find_package_of is fictional here
# just for this example's sake, $pkg should be main
my $pkg = find_package_of($self); …Run Code Online (Sandbox Code Playgroud) 我有这个方法:
def myMethod(value:File,x: (a:File) => Unit) = {
// Some processing here
// More processing
x(value)
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以称之为:
myMethod(new File("c:/"),(x:File) => println(x))
Run Code Online (Sandbox Code Playgroud)
有没有办法用支架称它?就像是:
myMethod(new File("c:/"),{ (x:File) =>
if(x.toString.endsWith(".txt")) {
println x
}
})
Run Code Online (Sandbox Code Playgroud)
或者我是否必须用另一种方法编写并将其传递给myMethod?
我正在学习F#,我想知道如何使用F#编写这样的代码片段:
2.times {
puts "hello"
}
Run Code Online (Sandbox Code Playgroud)
如果您可以解释如何/如果在F#中可以使用块的函数,那么这也很好.
从命令行运行脚本时,我希望能够支持这样的事情:
script.rb -n 2 -t first.txt -t second.txt
Run Code Online (Sandbox Code Playgroud)
我希望能够使用一个或多个t开关,但我不知道如何实现这一目标.我不想这样做:
script.rb -n 2 -tfirst.txt,second.txt
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?