小编Bil*_*man的帖子

在 Flutter 中,在变量类型之前使用“late”关键字和在变量类型之后使用“?”标记有什么区别?

我认为在新的 Dart 规则中,变量不能声明/初始化为 null。所以我们必须late在变量类型之前放置一个关键字,如下所示:

late String id;
Run Code Online (Sandbox Code Playgroud)

或者?变量类型后面的标记,如下所示:

String? id;
Run Code Online (Sandbox Code Playgroud)

这两者是相等的还是有一些区别?

null non-nullable flutter

7
推荐指数
1
解决办法
2517
查看次数

InstallShield 2009基本MSI静默安装:默认情况下如何设置"修复"

安装shield premiere 2009:从命令行输入setup.exe/s/v/qn的基本MSI静默安装.但是,如果它在默认情况下选择"修改"之前安装一次,而不是替换文件.但我需要再次复制文件.如何在默认情况下在第二次静默安装时执行"修复"?

windows-installer installshield default mode

5
推荐指数
1
解决办法
9731
查看次数

为什么strlen与s的大小不同,为什么cout char显示的是字符而不是数字?

我写了一段代码来计算'e'一堆单词中有多少个字符.

例如,如果我输入"I read the news",那么e存在多少个的​​计数器应为3.

#include <iostream>
#include <cstring>
using namespace std;

int main()
{
    char s[255],n,i,nr=0;
    cin.getline(s,255);

    for(i=1; i<=strlen(s); i++)
    {
        if(s[i-1]=='e') nr++;
    }
    cout<<nr;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我有两个关于C++中字符的不清楚的事情:

  1. 在上面的代码中,如果我strlen(s)用255 替换,我的代码就不起作用了.我只能输入一个单词,程序就会停止.我在学校被教过strlen(s)这个字符串的长度s,在这种情况下,就像我宣称的那样,是255.那么,为什么我不能只输入255而不是strlen(s)

  2. 如果我正常运行上面的程序,它不会显示一个数字,就像它应该做的那样.它向我展示了一个角色(我相信它来自ASCII表,但我不确定),就像一颗心或一颗钻石.它应该e从单词中打印出的数字.

有人可以向我解释这些吗?

c++ ascii character

5
推荐指数
1
解决办法
182
查看次数

新 Instagram API 的小图像尺寸 graph.instagram.com/me/media

我想制作一个小部件来显示 Instagram 提要。通过 graph.instagram.com/me/media?fields=caption,media_type,media_url,permalink,thumbnail_url&access_token=XXXXX 我得到了图像。但是在小部件中,我需要 150x150px 的大小。

oembed 不能使用,限制:https : //developers.facebook.com/docs/instagram/embedding#limitations

那么,在 150x150px 的 div 大小中,也不需要 800x1200 的图像。

我怎样才能得到其他尺寸?

api widget instagram display

5
推荐指数
1
解决办法
1179
查看次数

JavaScript按位&运算符在非预期位置附加1

当我0x00000000C17E000F & 0x00000000C17E0000在javascript上运行时,它返回-1048707072而不是3246260224.

每个二进制是

  • 0x00000000C17E000F:( 省略32个)1100 0001 0111 1110 0000 0000 0000 1111
  • 0x00000000C17E0000:( 省略32个)1100 0001 0111 1110 0000 0000 0000 0000

所以我期待0x00000000C17E000F & 0x00000000C17E0000as 的结果3246260224,但结果却是如此-1048707072.

  • 3246260224:(省略32的0)1100 0001 0111 1110 0000 0000 0000 0000
  • -1048707072:(省略了32的1)1100 0001 0111 1110 0000 0000 0000 0000

为什么使用Javascript计算0 & 0作为1在那里(在33至第64位)?

(我听说Javascript编号由64位组成.)

javascript bit-manipulation

2
推荐指数
1
解决办法
80
查看次数

脚本中的 Base64 编码不同

我尝试在 bash 脚本中对用户:密码字符串进行 Base64 编码,但是脚本中的结果与在 shell 中运行命令时不同。

在 shell 中(预期输出):

echo -n "user:password" | base64
dXNlcjpwYXNzd29yZA==
Run Code Online (Sandbox Code Playgroud)

在脚本中(w/-n):

USER=$(echo -n "user:password" | base64)
echo $USER
LW4gdXNlcjpwYXNzd29yZAo=
Run Code Online (Sandbox Code Playgroud)

在脚本中(w/o -n,末尾有额外字符):

USER=$(echo "user:password" | base64)
echo $USER
dXNlcjpwYXNzd29yZAo=
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我我在这里缺少什么吗?谢谢

authentication bash base64 encoding

1
推荐指数
1
解决办法
2403
查看次数

我们可以使用没有前缀的 perl 包变量,范围只在那个包中吗?

我的实际代码与此类似。

package DEF;
use warnings;
use strict;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw($STR);

our ($STR);

$STR = "bin";

1;
Run Code Online (Sandbox Code Playgroud)

包 DEF 定义了 $STR 并将其导出,以便其他人可以使用它。我可以在其他包的函数中使用 $STR 而没有任何问题。

package A;
use warnings;
use strict;
use DEF;
use File::Spec::Functions;

$var=catfile($STR,"abc","def");

sub fun{
  print($var,"\n");
}   

sub fun1{
  print($STR,"\n");
}

sub fun3{
  fun();
  fun1();
}
fun3();
1;
Run Code Online (Sandbox Code Playgroud)

我想在包中定义一个变量,可以在包的所有函数中使用,但不能在包外使用。我不想在使用变量时使用任何前缀,也不想在每个函数中定义变量。

声明变量 withour使其可以在包外访问。上面的代码没有按预期打印变量值。

当我使用my $var输出时

abc/def
bin
Run Code Online (Sandbox Code Playgroud)

但预期的输出是

bin/abc/def
bin
Run Code Online (Sandbox Code Playgroud)

perl scope package

1
推荐指数
1
解决办法
74
查看次数

switch 语句中的值

我试图用不同现有变量中的某个值填充现有变量,优先考虑第一个填充值变量。

我的意思是这样的:

我有需要从 4 个其他变量设置的变量 A:B、C、D 和 E。所有 5 个都是可为空的字符串。但我只想按从 B 到 E 的顺序设置它的优先级。

这是我想得到的一个例子:

switch(HasValue())
{
   case(B):
        A = B;
        break;
   case(C):
        A = C;
        break;
   case(D):
        A = D;
        break;
   case(E):
        A = E;
        break;
   default:
        A = string.empty;
        break;
Run Code Online (Sandbox Code Playgroud)

因此,如果变量 D 有值,则将 A 设置为 D。如果 B 和 D 都有值,则选择 B。

但是 switch 需要一个值,而不是一个语句或方法。

我试图用很多 if else 语句来实现它,但是加班时间真的很长。我需要更紧凑的东西,我可以在以后添加新的价值。

有没有办法实现这一点,或者有其他更好的方法来解决它?

c#

1
推荐指数
1
解决办法
78
查看次数

使用Page Factory设计模式在Page Object中第二次调用webelement会产生陈旧元素异常

我们有一个带有Page Object和Page Factory设计模式的UI框架.在我的一个Page Object类中,我定义了一个webelement并调用它.在我的测试步骤类中,当这是在一个页面上时,我正在调用此webelement,而当我在另一个页面上时,我再次调用此元素.下面是我的代码的样子

PageObjectClass1:

@FindBy(how=How.XPATH, using="//*[contains(text(),'Successfully')]")
@CacheLookup
public WebElement successMsg;
Run Code Online (Sandbox Code Playgroud)

testStepClass:

//on first page 
PageObjectClass1.successMsg.isDisplayed()

//Then I navigate to some other page and again call this webelement

PageObjectClass1.successMsg.isDisplayed();
Run Code Online (Sandbox Code Playgroud)

在第二次调用它时,webdriver正在给我staleElementException.此xpath是通用xpath,将在每个页面中使用.这肯定存在于DOM中,所以不确定为什么它会给我这个例外?如何在不在每个页面对象类中创建此元素的情况下使用它?

给出的例外情况是:

org.openqa.selenium.StaleElementReferenceException:陈旧元素引用:元素未附加到页面文档

java selenium pageobjects selenium-webdriver staleelementreferenceexception

0
推荐指数
1
解决办法
252
查看次数

leetcode问题,为什么int数组中的[]和[0]不一样

我试图返回一个大小为 0 的空数组。我这样做,

返回新的int[0];

他们说我的输出是[],预期输出应该是[0],

我真的看不出有什么区别,有人可以解释或展示如何正确返回吗?

java arrays

0
推荐指数
1
解决办法
63
查看次数

如何将输入转换为变量,以便我可以在 python 的方程中添加或使用

如果我有这样的代码?

num1= input (" number goes here")
num2= input ("number goes here")
Run Code Online (Sandbox Code Playgroud)

我怎样才能使一个简单的方程起作用,例如。

num3=num2+num1
print ("num3")
Run Code Online (Sandbox Code Playgroud)

当我这样做时它输出

num2num3
Run Code Online (Sandbox Code Playgroud)

我尝试过诸如此类的事情

int=(num1)
Run Code Online (Sandbox Code Playgroud)

python

0
推荐指数
1
解决办法
35
查看次数