小编Key*_*Usr的帖子

启用Enum(带Flags属性)而不声明每个可能的组合?

我如何打开一个设置了flags属性的枚举(或更精确地用于位操作)?

我希望能够在与所声明的值匹配的开关中击中所有情况.

问题是,如果我有以下枚举

[Flags()]public enum CheckType
{
    Form = 1,   
    QueryString = 2,
    TempData = 4,
}
Run Code Online (Sandbox Code Playgroud)

我想用这样的开关

switch(theCheckType)
{
   case CheckType.Form:
       DoSomething(/*Some type of collection is passed */);
       break;

   case CheckType.QueryString:
       DoSomethingElse(/*Some other type of collection is passed */);
       break;

   case CheckType.TempData
       DoWhatever(/*Some different type of collection is passed */);
       break;
}
Run Code Online (Sandbox Code Playgroud)

如果"theCheckType"设置为CheckType.Form | CheckType.TempData我希望它能同时击中两个案例.显然,由于中断,它不会在我的示例中同时出现,但除此之外它也会失败,因为CheckType.Form不等于CheckType.Form | CheckType.TempData

那么我能看到的唯一解决方案就是为每个可能的枚举值组合做一个案例?

就像是

    case CheckType.Form | CheckType.TempData:
        DoSomething(/*Some type of collection is passed */);
        DoWhatever(/*Some different type of collection is passed */);
        break; …
Run Code Online (Sandbox Code Playgroud)

c# enums flags bit switch-statement

44
推荐指数
6
解决办法
3万
查看次数

单击HTML 5视频元素播放,暂停视频,中断播放按钮

我正在尝试让视频像YouTube一样播放和暂停(使用播放和暂停按钮,然后单击视频本身.)

<video width="600" height="409" id="videoPlayer" controls="controls">
 <!-- MP4 Video -->
 <source src="video.mp4" type="video/mp4">
</video>


<script>
    var videoPlayer = document.getElementById('videoPlayer');

    // Auto play, half volume.
    videoPlayer.play()
    videoPlayer.volume = 0.5;

    // Play / pause.
    videoPlayer.addEventListener('click', function () {
        if (videoPlayer.paused == false) {
            videoPlayer.pause();
            videoPlayer.firstChild.nodeValue = 'Play';
        } else {
            videoPlayer.play();
            videoPlayer.firstChild.nodeValue = 'Pause';
        }
    });
</script>
Run Code Online (Sandbox Code Playgroud)

你有什么想法会破坏播放和暂停控制按钮吗?

youtube video html5

31
推荐指数
5
解决办法
15万
查看次数

Pip 21.1 无法导入 InvalidSchemeCombination

在工作中,我们使用 Github 操作来构建和测试我们的拉取请求,然后才能获得批准。周五下午,一切正常。周一早上,所有测试都很快失败,错误显示 pip 无法再找到自己的异常。最新的 Pip 有什么变化吗?

正如你在下面的错误中看到的,我们自己的代码没有被引用,而且我很确定我们的流程在周五和周一之间没有任何变化(我们是一个小团队,批准的 PR 没有任何令人惊讶的地方) )。

错误追溯:

Traceback (most recent call last):
    File "/opt/hostedtoolcache/Python/3.7.9/x64/bin/pip", line 5, in <module>
      from pip._internal.cli.main import main
    File "/opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages/pip/_internal/cli/main.py", line 8, in <module>
      from pip._internal.cli.autocompletion import autocomplete
    File "/opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
      from pip._internal.cli.main_parser import create_main_parser
    File "/opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
      from pip._internal.cli import cmdoptions
    File "/opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages/pip/_internal/cli/cmdoptions.py", line 22, in <module>
      from pip._internal.cli.progress_bars import BAR_TYPES
    File "/opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages/pip/_internal/cli/progress_bars.py", line 9, in <module>
      from pip._internal.utils.logging import get_indentation
    File "/opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages/pip/_internal/utils/logging.py", line …
Run Code Online (Sandbox Code Playgroud)

python pip

19
推荐指数
4
解决办法
9883
查看次数

使用KV语言的Kivy Garden Graph

如何garden.graph在kv文件中使用kivy模块?我只找到了解释如何在主python脚本中使用它的文档.

我导入了kivy.garden.graphpython文件,我可以Graph在kv文件里面添加,但是我没有找到任何文档如何设置大小,图等.

Graph:
    id: graph_test
    plot: MeshLinePlot
Run Code Online (Sandbox Code Playgroud)

这给出了一个错误MeshLinePlot is not defined,虽然我在python端导入它.

任何帮助都将受到高度赞赏,也许我们可以将此信息添加到图形的github自述文件中.

python graph kivy

10
推荐指数
2
解决办法
4061
查看次数

固定机器的标识符(uuid.getnode)

我试图找到一些我可以用作我的脚本的唯一字符串/数字的东西,它固定在一台机器上并且很容易获得(跨平台).我认为一台机器会有一张网卡.我不需要它真正独特,但必要的是它应该长期固定,尽可能少.

我知道MAC可以更改,我可能会在我的脚本中发出警告,但我不希望每天早上都有人更改MAC.

我想出的是uuid.getnode(),但在文档中有:

如果所有获取硬件地址的尝试都失败,我们选择一个随机的48位数字

这是否意味着对于每个函数调用我得到另一个随机数,因此如果MAC无法获得则不可能使用它?

...在具有多个网络接口的计算机上,可以返回其中任何一个的MAC地址.

这句话是否意味着getnode()获得所有可用的随机(或第一)MAC?如果首次获得MAC A而下次获得MAC B怎么办?如果我得到一个固定的列表就没有问题(排序,连接,tadaaa!)

我问,因为我自己无法测试它.

python hardware uuid mac-address identifier

10
推荐指数
2
解决办法
4584
查看次数

Kivy:编译成单个可执行文件

没有在kivy论坛得到回复,所以试试这里.

当我将教程pong代码编译为一个文件可执行文件时,我仍然必须将pong.kv文件包含在同一个文件夹中才能运行.否则,启动exe时出现以下错误:


    GL: EXT_framebuffer_object is supported
    [INFO              ] [GL          ] OpenGL version 
    [INFO              ] [GL          ] OpenGL vendor 
    [INFO              ] [GL          ] OpenGL renderer 
    [INFO              ] [GL          ] OpenGL parsed version: 2, 1
    [INFO              ] [GL          ] Shading version 
    [INFO              ] [GL          ] Texture max size 
    [INFO              ] [GL          ] Texture max units 
    [INFO              ] [Window      ] auto add sdl2 input provider
    [INFO              ] [Window      ] virtual keyboard not allowed,
    single mode, not docked
     Traceback (most recent call last):
       File …

python pyinstaller kivy

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

删除matplotlib图中的空子图

如何确定subplot(AxesSubplot)是否为空?我想停用空子图的空轴并删除完全空行.

例如,在该图中,仅填充了两个子图,其余的子图是空的.

import matplotlib.pyplot as plt

# create figure wit 3 rows and 7 cols; don't squeeze is it one list
fig, axes = plt.subplots(3, 7, squeeze=False)
x = [1,2]
y = [3,4]

# plot stuff only in two SubAxes; other axes are empty
axes[0][1].plot(x, y)
axes[1][2].plot(x, y)

# save figure
plt.savefig('image.png')
Run Code Online (Sandbox Code Playgroud)

注意:必须设置squeezeFalse.

基本上我想要一个稀疏的人物.行中的某些子图可以为空,但应将其取消激活(不能显示任何轴).必须删除完全空行,不得将其设置为不可见.

python matplotlib

9
推荐指数
2
解决办法
7232
查看次数

Windows 无法识别 eval

我是初学者,我正在尝试将我的 GitHub 配置文件与我的本地计算机连接。

我正在按照步骤操作,但我的 gitcmd无法识别eval. 我已经生成了一个密钥,并尝试将 SSH 密钥添加到ssh-agent.

这是我收到的消息:

“eval”不被识别为内部或外部命令、可操作程序或批处理文件。

我运行的命令是:

eval "$(ssh-agent -s)"
Run Code Online (Sandbox Code Playgroud)

github ssh-keys

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

如何在Android中更改Button的宽度和高度

<Button android:text="Layer 1" 
        android:layout_width="wrap_content" 
        android:id="@+id/button1" 
        android:layout_height="wrap_content" 
        android:layout_alignParentTop="true" 
        android:layout_alignParentLeft="true" 
        android:layout_marginLeft="10dp" 
        android:layout_marginTop="50dp"
        android:width="100dp"
        android:height="20dp">
        </Button>
Run Code Online (Sandbox Code Playgroud)

我无法改变Button的宽度和高度.有什么问题?

android android-emulator

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

Schrodinger的错误,除非手动检查,否则BufferedWriter不会写入TXT

我是一名新手程序员 - 想要成为这个问题但我找不到答案.
我使用Eclipse,并为我使用的程序slicklwjgl-2.9.3
以下代码处于一个状态,在public void update(...)中

我有这部分代码的问题:(
file.txt存在且名称中没有大写字母,giveToFile是一个字符串)(没有抛出异常)

try{
    BufferedWriter bw = new BufferedWriter(new FileWriter("src/file.txt"));
    bw.write(giveToFile);
    bw.close();
}catch(IOException e){
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

(编辑:

try{
    bw = new BufferedWriter(new FileWriter("src/file.txt"));
    bw.write(giveToFile);
    bw.flush();
}catch(IOException e){
    e.printStackTrace();
}finally {
    if (bw != null){
        try {
           bw.close();
       }catch (Throwable t){
           t.printStackTrace();
       }
   }
}  
Run Code Online (Sandbox Code Playgroud)

产生了同样的bug)

我在try块的末尾放置了一个System.out.print,它运行正常,只运行一次.我还使用了g.drawString,并且giveToFile总是给出了预期的String.我执行了以下两个实验.(该程序是一个游戏性的东西,你根据你的表现得到最终得分,并将其置于高分然后重写TXT文件.)(我建议之前阅读TLDR.)

实验1(file.txt:"0 0 0 0 0")(成功):

  1. 我运行该计划并获得15分.
    - 从txt加载的字符串:"0 0 0 0 0"
    - giveToFile(string):"15 0 0 …

java eclipse lwjgl bufferedwriter slick

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