我有一个名为RuleObject的基础对象和一个从名为RuleObjectString继承的对象.我在RuleObjectString中有一个新方法,我想在我使用该对象的代码中调用它.但是我得到了错误.'无法找到对象方法"比较"来自./testobject.pl第10行的包"RuleObject".但我不是在创建一个RuleObject.我正在创建一个RuleObjectString.我在这做错了什么?
testobject.pl
1 #! /usr/bin/perl
2
3 use strict;
4
5 use RuleObjectString;
6
7 my $s = RuleObjectString->new();
8 $s->value('stuff goes here');
9
10 if ($s->compare('stuff')){
11 print "MATCH!\n";
12 }else{
13 print "no match :(\n";
14 }
Run Code Online (Sandbox Code Playgroud)
RuleObject.pm
package RuleObject;
our @ISA = qw/Exporter/;
our @EXPORT = qw/new/;
use strict;
sub new{
my $class = shift;
my $self;
$self->{value} = undef;
bless $self;
return $self;
}
sub value{
my $self = shift;
my $value = shift; …
Run Code Online (Sandbox Code Playgroud) 我拿一个整数,在这种情况下是192,然后左移24个空格.看来,领先1正在导致它变为负面.
unsigned int i = 192;
unsigned int newnumber = i << 24;
NSLog(@"newnumber is %d",newnumber);
Run Code Online (Sandbox Code Playgroud)
我期待3,221,225,472,但我得到-1,073,741,824(为清晰起见,添加了逗号)
无符号整数不应该是负数吗?
下面的代码获取所有输出,无论是stdout还是stderr.
String line = String.format("paty/to/script.py");
CommandLine cmd = CommandLine.parse(line);
DefaultExecutor executor = new DefaultExecutor();
ByteArrayOutputStream stdout = new ByteArrayOutputStream();
PumpStreamHandler psh = new PumpStreamHandler(stdout);
executor.setStreamHandler(psh);
int exitvalue = executor.execute(cmd);
String output = stdout.toString();
Run Code Online (Sandbox Code Playgroud)
如何单独获取两个流?
例如,如果我想要一个隐形框,如果它的alpha值为0,我怎么能得到触摸事件呢?或者是否有另一种制作隐形盒子的方法.
local function invisiblebuttontouch(event)
if event.phase == 'began' then
print (event.x..","..event.y)
end
end
button = display.newRect(1,1,300,300)
button:addEventListener("touch",invisiblebuttontouch)
button.alpha = 0
Run Code Online (Sandbox Code Playgroud)
它永远不会打印出x和y,但是如果我没有将alpha设置为0,那么它可以正常工作.