我试图从用户那里收集一个ip并做一些基本的错误检查和黑客攻击不必要的空白区域,但是我遇到了一些我认为是我的正则表达式的问题.
my $serverIP;
print "Enter vSphere server's IP\n";
while(<>){
$serverIP = $_;
print "DEBUG <$serverIP>\n";
if (/$serverIP = (\d+\.\d+\.\d+\.\d+)/){
print "Match found $1\n";
$serverIP = $1;
last;
}
else{
print "Not an IP\n";
print "Please enter a valid IP\n";
}
}
print "I found $serverIP!\n";
Run Code Online (Sandbox Code Playgroud)
我知道正则表达式很简单但它与1.1.1.1不匹配,因为我认为它应该
我在Perl中遇到了一些有趣的行为,希望能够开悟.正如您所看到的,我创建了一个名为@tuple具有两个数组引用的数组.当我将它分配给一个键并提取它时,我只获得与引用相关的第一个数组VALUE.谁能告诉我为什么会这样?
my @VMstoreName = ($storeName[$i]);
my @VMdiskCap = ($diskCap[$i]);
print "VMstoreName : ". join(' ', @VMstoreName) . "\n";
print "VMdiskCap : ". join(' ', @VMdiskCap) . "\n";
# Initializing our key
my @tuple = (\@VMstoreName, \@VMdiskCap);
print "After tuple " . join(' ', @tuple) . "\n";
@virtualMachines{$vmNames[$i]} = @tuple;
my @DEBUG = @{$virtualMachines{$vmNames[$i]}};
print "After first map : " . join(' ', @DEBUG) . "\n";
print "WHAT??? $DEBUG[0] $DEBUG[1]!!!\n";
Run Code Online (Sandbox Code Playgroud)
这是输出,我想要在第一个地图之后阅读完全像After Tuple
VMstoreName : 172.16.1.3:/export/Paul/test-0
VMdiskCap : 1
After …Run Code Online (Sandbox Code Playgroud) 在左折叠中,我试图消化不同的图像。我很沮丧,决定读取同一个文件,但我收到了不同的字节数组来读取同一个文件!有谁知道为什么会发生这种情况?这是发生这种情况的代码,“swap.png”在运行期间永远不会改变
val capturedImage = outputScreen.capture
val swap = new File("swap1.png")
ImageIO.write(capturedImage, "png", swap)
val bis = new BufferedInputStream(new FileInputStream("swap.png"))
val byte = Stream.continually(bis.read).takeWhile(-1 !=).map(_.toByte).toArray
println(byte.toString)
Run Code Online (Sandbox Code Playgroud)
这是一些输出
[B@31302ed5
[B@3a56d071
[B@6039d718
[B@3490e5eb
[B@2f29608e
[B@4c09c5c3
Run Code Online (Sandbox Code Playgroud) 我正在尝试在python中制作一个玩具单例来学习语言的来龙去脉,并且遇到了python如何工作的问题.我宣布这样的课程
class ErrorLogger:
# Singleton that provides logging to a file
instance = None
def getInstance():
# Our singleton "constructor"
if instance is None :
print "foo"
Run Code Online (Sandbox Code Playgroud)
我打电话的时候
log = ErrorLogger.getInstance()
Run Code Online (Sandbox Code Playgroud)
我明白了
File "/home/paul/projects/peachpit/src/ErrorLogger.py", line 7, in getInstance
if instance is None :
UnboundLocalError: local variable 'instance' referenced before assignment
Run Code Online (Sandbox Code Playgroud)
这里发生了什么,不应该静态分配Null?这样做的正确方法是什么?