我发现了一种新的模式.这种模式是众所周知的还是对它的看法是什么?
基本上,我很难刷新源文件以找出可用的模块导入等等,所以现在,而不是
import foo
from bar.baz import quux
def myFunction():
foo.this.that(quux)
Run Code Online (Sandbox Code Playgroud)
我将所有导入移动到它们实际使用的函数中,如下所示:
def myFunction():
import foo
from bar.baz import quux
foo.this.that(quux)
Run Code Online (Sandbox Code Playgroud)
这做了一些事情.首先,我很少意外地用其他模块的内容污染我的模块.我可以__all__为模块设置变量,但随后我必须在模块发展时更新它,这对于实际存在于模块中的代码无效.
其次,我很少在我的模块顶部进行一连串的进口,其中一半或更多我不再需要,因为我已经重构了它.最后,我发现这个模式更容易阅读,因为每个引用的名称都在函数体中.
基本上,在SDL或OpenGL游戏或应用程序中如何处理非西方输入?谷歌搜索它显示http://sdl-im.csie.net/但似乎不再维护或可用.只是为了查看我必须使用Google缓存的页面.
为了澄清,我在向用户显示非西方语言文本的应用程序方面没有任何问题.这是一个已解决的问题.有许多可用的unicode字体,以及将文本处理为字形然后进入显示表面的许多不同方法.
我在相反的方向犯规.即使我的程序可以安全地处理任意编码的文本数据,如果用户碰巧包含需要多次击键的字符,用户也无法实际输入他们的名字.