假设我有基类FooParent,它有很多FooChildren.在运行时,我必须创建一个的实例FooChildren.我该怎么做?我意识到我可以创建一个巨大的地图(并使用代表)或一个巨大的switch/case声明,但这似乎有点草率.在像PHP这样的东西中,我可以像这样动态地创建一个类:
$className="FooClass";
$myNewFooClass=new $className; //makes a new instance of FooClass
Run Code Online (Sandbox Code Playgroud)
(你也可以使用反射来做到这一点).
.NET有这样的东西吗?反思是一种选择,它是否有任何性能损失?如果没有,我还有其他选择吗?
类的类型将由JSON请求确定.变量可以是我想要的任何东西.如果我想要枚举,它可以是整数,或者它可以是完整的类名.我还没有创造它所以我还没有决定.
据我所知,===操作员测试RHS对象是否是LHS对象的成员.那讲得通.但是这在Ruby中是如何工作的?我正在看Ruby文档,我只看到===定义Object,我自己也看不到它Integer.它没有记录吗?
我正在开发一个webapp,我想在PHP中生成服务器端的一些crc32值与我在Javascript中生成的一些crc32值.两者都使用相同的输入字符串,但返回不同的值.
我在webtoolkit上找到了一个crc32 javascript库,可以在这里找到.当我尝试匹配我在PHP中生成的简单CRC32值时,在我的生命中,我无法在Javascript crc32函数中生成相同的匹配值.我尝试在页面顶部添加一个utf-8语言编码元标记,但没有运气.utf8_encode()在我将它输入PHP crc32函数之前,我还尝试在字符串周围添加一个PHP ,但仍然没有匹配的crc ....
这是一个字符编码问题吗?如何让这两个生成的crc匹配?感谢大家!
/**
*
* Javascript crc32
* http://www.webtoolkit.info/
*
**/
function crc32 (str) {
function Utf8Encode(string) {
string = string.replace(/\r\n/g,"\n");
var utftext = "";
for (var n = 0; n < string.length; n++) {
var c = string.charCodeAt(n);
if (c < 128) {
utftext += String.fromCharCode(c);
}
else if((c > 127) && (c < 2048)) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | …Run Code Online (Sandbox Code Playgroud) 我看到随着node.js和v8的出现,javascript作为服务器端语言变得越来越实用.就框架而言,我所看到的大多数都是简约框架.甚至express.js,其中一个更有前途的,是有点裸露的.
JS还有完整的堆栈服务器端框架吗?
假设我正在对 ruby 方法定义进行词法分析:
def print_greeting(greeting = "hi")
end
Run Code Online (Sandbox Code Playgroud)
词法分析器的工作是维护状态并发出相关标记,还是应该相对愚蠢?请注意,在上面的示例中,greeting参数的默认值为"hi"。在不同的上下文中,greeting = "hi"变量赋值设置greeting为"hi"。词法分析器应该发出诸如 之类的通用标记IDENTIFIER EQUALS STRING,还是应该具有上下文感知能力并发出诸如 之类的东西PARAM_NAME EQUALS STRING?
我知道TCP非常可靠,所发送的内容保证可以到达目的地.但是如果在发送数据包之后但在它到达服务器之前服务器发生故障会发生什么呢?在数据包最初发送时,或者数据包成功到达服务器时,是否确认已成功发送数据包?
基本上我要问的是 - 如果服务器在发送和接收数据包之间发生故障,客户端会知道吗?
我正在制作游戏,我正在使用Python作为服务器端.
使用Python自己实现聊天是相当简单的 - 这不是我的问题.
我的问题是,
我只是想知道是否有任何预制的聊天服务器或某种服务,我可以在我的游戏中实现而不是滚动我自己的聊天服务器?
也许我可以在游戏服务器进程旁边运行一个不同的进程?
我敢肯定我可以谷歌这个,它可能已经在SO上,但我甚至无法弄清楚它叫什么.Visual Studio 2008中是否有一个选项可以激活显示x个空格(通常默认为80)的垂直虚线,作为您的代码行应该有多长的指南?
当我尝试在我的应用程序上使用dotfuscate时,运行时出现应用程序错误.
如果我有一个User类,并且可以通过在suspensions表中添加条目来暂停其帐户,那么您认为哪个类/方法签名更合适?
User::suspend($reason, $expiryDate);
Suspension::add($userid, $reason, $expiryDate);
Run Code Online (Sandbox Code Playgroud)
这是一个简单的例子,但我在整个应用程序中到处都有这种情况.一方面,我想让它成为User对象的一个方法,因为执行的动作与该用户对象本身直接相关,但另一方面使它成为悬挂对象上的方法似乎更清晰.
你怎么看?
c# ×2
javascript ×2
.net ×1
chat ×1
crc32 ×1
dotfuscator ×1
obfuscation ×1
oop ×1
parsing ×1
php ×1
python ×1
reflection ×1
ruby ×1
tcp ×1
tokenize ×1