以下是糟糕的代码.请帮助我实现我想要实现的目标,但具有良好的代码.我想要一个从基础派生的对象数组.我想在DoStuff()运行时能够在BaseClass中使用该数组.我知道我不能贬低,这不是我想要做的.我只想在派生类中设置Fields,并在基础DoStuff()中使用Fields.
public class BaseObject
{
}
public class DerivedObject : BaseObject
{
}
public class BaseClass
{
public BaseObject[] Objects;
public virtual void DoStuff()
{
// use the Objects
}
}
public class DerivedClass : BaseClass
{
public override DerivedObject[] Objects;
public override void DoStuff()
{
// Do stuff unique to the derived.
base.DoStuff();
}
}
Run Code Online (Sandbox Code Playgroud) 我很确定Java会让你这么做,但我可能错了.
List<string> myList = new List<string>();
bool istrue = false;
myList.Add(istrue ? "something" : void);
Run Code Online (Sandbox Code Playgroud) 我认为答案是"你不能这样做",但我想确定.假设我有一个对象:
var person = {
name: 'Joe',
phoneNumbers: [ '5555554455', '4445554455' ]
};
Run Code Online (Sandbox Code Playgroud)
我想在phoneNumbers上创建一个索引:
objectStore.createIndex('phoneNumberIndex', 'phoneNumbers');
Run Code Online (Sandbox Code Playgroud)
后来我想查询具有特定phoneNumber的人:
index.get('4445554455').onsuccess = function(event) {
// Anything?
};
Run Code Online (Sandbox Code Playgroud)
这会产生结果吗?如果没有,还有另一种方法吗?
在尝试创建Dictionary对象时,我遇到了一个奇怪的错误.很基本的东西.但是,当我创建对象的2个实例,然后在其中设置一些值时,它们就会出现在两者上.我在这做错了什么?
function Dict() { }
Dict.prototype = {
items: { },
prop: function(key) {
return ':' + key;
},
get: function(key, def) {
var p = this.prop(key),
k = this.items;
return k.hasOwnProperty(p) ? k[p] : def;
},
set: function(key, value) {
var p = this.prop(key);
this.items[p] = value;
return value;
},
count: function() {
return Object.keys(this.items).length;
},
has: function(key) {
var p = this.prop(key);
return this.items.hasOwnProperty(p);
},
del: function(key) {
var p = this.prop(key),
k = this.items;
if(k.hasOwnProperty(p))
delete k[p]; …Run Code Online (Sandbox Code Playgroud) 我一直在学习 C,但在使用链表时遇到了问题。当循环指向链表的指针时,我遇到了分段错误,但我不确定为什么。
查看类似问题的建议是分配内存,但我发现这个答案令人困惑。链表是否必须使用堆内存,如果是,为什么?
这是我的代码:
#include <stdio.h>
typedef struct Node {
char *name;
struct Node *next;
} Node;
typedef struct Thing {
Node *node;
} Thing;
Thing make_thing()
{
Thing t = {
.node = NULL
};
return t;
}
Thing * add_node(Thing *t, char *name)
{
Node node = {
.name = name,
.next = t->node
};
t->node = &node;
return t;
}
void print_nodes(Thing *t)
{
Node *n = t->node;
while(n != NULL) {
printf("Node: %s\n", n->name);
n = …Run Code Online (Sandbox Code Playgroud) 这段代码有什么问题?试图做一个基本的haskell你好世界.
module Main
( hello )
where
hello :: [Char] -> [Char]
hello p = "Hello " ++ p ++ "!"
main =
let msg = hello "World"
putStrLn msg
Run Code Online (Sandbox Code Playgroud)