小编Rob*_*Rob的帖子

解释stdscr中的“ ENTER”按键(Python中的curses模块)

我正在使用Python的curses模块。在stdscr中,每当我按Enter键时,诅咒就会移到同一行的第一列。我对此有几个问题。

  1. 是什么原因呢?
  2. 有办法将诅咒移到下一行吗?
  3. 如果我想在Enter键上执行某些操作(执行某些功能或执行某些操作),那么在“如果”条件下会发生什么?例如

    if (condition which will determine if ENTER was pressed or not)
        somecode
    
    Run Code Online (Sandbox Code Playgroud)

python curses python-2.7 python-3.x python-curses

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

_curses.error: addstr() 返回错误

使用 Python,我正在尝试编写一个脚本,每当您按下空格键时,该脚本都会将所有键入的字符转换为 'a'。例如,我输入“python”然后输入空格,然后“python”将转换为“aaaaaa”。

import argparse
import curses
import time

# Main Function
def main():
    screen=curses.initscr()
    curses.cbreak()
    screen.keypad(1)
    curses.echo()
    str_txt=''
    count = 0
    while True:
        s=screen.getch()
        if s != ord(' ') and s != ord('\x1b') and s != curses.KEY_BACKSPACE and s != curses.KEY_ENTER:
            str_txt += chr(int(s))
            count+=1

        if s == ord(' '):
            dim = screen.getyx()
            h = 'a'*len(str_txt)+' '
            screen.addstr(dim[0],dim[1]-count-1, h)     
            count=0
            str_txt=''
            screen.refresh()

        if s == curses.KEY_ENTER or s==10 or s==13:
            dim = screen.getyx()
            screen.move(dim[0]+1,0)
            screen.refresh()

        #if s == curses.KEY_BACKSPACE: …
Run Code Online (Sandbox Code Playgroud)

python curses python-2.7 python-3.x python-curses

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

无法理解Ruby代码中的"puts"关键字

我不懂红宝石语.我正在阅读一篇非常有趣的文章,其中包含以下2行红宝石代码,我需要了解.

(0..0xFFFFFFFFFF).each do |i|
     puts "#{"%010x" % i}"
end
Run Code Online (Sandbox Code Playgroud)

通过谷歌搜索,我获得了第一线.但我无法理解第二行.有人可以解释一下它的含义吗?

ruby ruby-on-rails

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

链接汇编代码时出错

我用汇编语言编写了一个简单的程序,它只会在 Windows 7 32 位中显示一个消息框

.386
.model flat, stdcall
option casemap :none

extrn MessageBoxA@16 : PROC
extrn ExitProcess@4 : PROC

.data
    HelloWorld db "Welcome to SecurityTube.net!", 0
    MsgTitle db "First MessageBox", 0

.code
start:
    mov eax, 0
    push eax
    lea ebx, MsgTitle
    push ebx
    lea ebx, HelloWorld
    push ebx
    push eax
    call MessageBoxA@16
    push eax
    call ExitProcess@4
end start
Run Code Online (Sandbox Code Playgroud)

我使用以下命令进行组装和链接

ml /c /coff helloworld.asm
link /subsystem:windows /defaultlib:kernel32.lib /defaultlib:user32.lib helloworld.obj 
Run Code Online (Sandbox Code Playgroud)

程序完美组装。但是,在链接时,我收到此错误:

Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp …
Run Code Online (Sandbox Code Playgroud)

windows assembly masm masm32

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