标签: instance

C:你如何模拟'实例'?

假设我在C中有以下代码表示堆栈:

#define MAX 1000

int arr[MAX];
static int counter = 0;
isstackempty()
{
    return counter <= 0;
}
void push(int n)
{
    if (counter >= MAX) {
        printf("Stack is full.  Couldn't push %d", n);
        return;
    }
    arr[counter++] = n;
}

int pop(int* n)
{
    if(isstackempty() || n == 0) {
        printf("Stack is empty\n");
        return 0;
    }
    *n = arr[--counter];
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

上面的代码在一个stack.c文件中,函数原型在一个头文件中.


现在,来自C#和OO背景,如果我想要stack在我的应用程序中分离s,在OO语言中我将创建两个实例.但是在C中,你如何处理这种情况?

假设我想stack在我的C代码中使用两个单独的s ...使用上面的代码,我将如何处理它?

c oop stack instance

1
推荐指数
2
解决办法
418
查看次数

Obj-C对象和实例之间的区别?

我正在学习Objective-C,我并不真正理解实例和对象之间的区别.他们通常使用这两个术语.另外,为什么alloc方法应用于类,init方法应用于对象?

oop programming-languages object objective-c instance

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

Rails - 在方法中引用当前模型实例的正确方法?

假设我有一个Post模型,我想在保存时运行一个方法

post.rb我这样做:

:before_save some_method_on_post

def some_method_on_post
  # Do something here
end
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何在方法中引用当前实例化的Post对象?

编辑:所以澄清假设我想这样做:

def some_method_on_post
  post.some_property = foo
end
Run Code Online (Sandbox Code Playgroud)

我是指post自己吗?

ruby methods model ruby-on-rails instance

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

Java外部实例生命周期

我对以下内容缺乏了解:如果我使用"速记"创建内部类的实例,那么访问外部类是一个坏主意,即使我没有创建它的显式实例?

例如,请考虑以下代码:

class OuterClass
{
    int i;

    OuterClass() { i = 2; }

    class InnerClass
    {
        int get_parent_i() { return (OuterClass.this.i); }
    }
}
Run Code Online (Sandbox Code Playgroud)

以下编译并返回预期结果(2):

OuterClass.InnerClass ic = new OuterClass().new InnerClass();

System.out.println(ic.get_parent_i());
Run Code Online (Sandbox Code Playgroud)

我的困惑源于这样一个事实:我没有显式创建一个OuterClass对象来实例化一个InnerClass对象,尽管似乎无论如何都存在.有人可以告诉我发生了什么,如果我出于任何原因要么访问或忘记幻影实例?

非常感谢!

java nested class parent instance

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

试图创建我的类型类/实例.GHC说"无法演绎......"

我试图制作一个简单的图形结构,我写了以下内容.但温室气体引起了错误,我堆积在那里.这是我第一次制作自己的类型类,所以也许我做的事情非常糟糕.有人可以解释什么是错的吗?

我发现了一个类似的问题,但我不认为它适用于我的情况: 在类型类的实例中错误绑定类型变量

class Link l where
  node :: (Node n) => l -> n

class Node n where
  links :: (Link l) => n -> [l]

data (Node n) => SimpleLink n =
  SimpleLink
  { simpleLinkNode :: n
  } deriving (Show, Read, Eq)

instance (Node n) => Link (SimpleLink n) where
  node = simpleLinkNode

data (Link l) => SimpleNode l =
  SimpleNode
  { simpleNodeLinks :: [l]
  } deriving (Show, Read, Eq)

instance (Link l) => Node (SimpleNode l) where …
Run Code Online (Sandbox Code Playgroud)

haskell instance typeclass

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

Ruby - 有没有办法获得特征类的实例?

我正在寻找一种方法来获取本征类的实例,因为每个本征类只有一个实例.

我可以通过ObjectSpace来测试每个本征类,但我猜它很昂贵.

奇怪的是,我必须得到每个对象的本征类来测试匹配,因为is_a?这还不够:

class A; end
class B < A; end

AA = class << A; self; end

p A.is_a? AA #=> true
p B.is_a? AA #=> true!!!!
Run Code Online (Sandbox Code Playgroud)

我希望有一个Class#instanceClass#instances方法来获取类(或本征类)的实例.

最直接的方法是从特征类中提取实例inspect,但我想知道我是否可以依赖它:

p AA         #=> #<Class:A>
instance = Object.const_get(AA.inspect.match(/^#<Class:(\w+)>$/)[1])
p instance   #=> A

# (this works for class' eigenclass)
Run Code Online (Sandbox Code Playgroud)

我的用例是我必须得到类方法的类,但是Method#owner给了我本征类,并Method#receiver给了我当前的接收器:

# Continuing previous example
def A.f; end
mtd = B.method(:f)
p mtd.owner     #=> #<Class:A>
p mtd.receiver  #=> B
# I …
Run Code Online (Sandbox Code Playgroud)

ruby instance eigenclass

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

检查WPF应用程序的其他实例是否正在运行

WPF应用程序是否可以检查应用程序的任何其他实例是否正在运行?我正在创建一个应该只有一个实例的应用程序,当用户再次尝试打开它时,它会提示"另一个实例正在运行"的消息.

我猜我必须检查进程日志以匹配我的应用程序名称,但我不知道如何去做.

c# wpf instance single-instance

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

在一行上实例化两个实例时出现意外的Ruby行为

我创建了一个为每个实例生成不同名称的类,但是在一个语句中实例化两个实例时,测试意外失败.

这是班级.

class Robot
  attr_accessor :name
  @@current_name = 'AA000'
  def initialize
    @name = @@current_name
    @@current_name.next!
  end
end
Run Code Online (Sandbox Code Playgroud)

这里的类表现如预期

irb(main):009:0> Robot.new.name
=> "AA001"
irb(main):010:0> Robot.new.name
=> "AA002"
Run Code Online (Sandbox Code Playgroud)

这是我所期待的意外行为false.这段代码正在测试我试图通过的练习,所以我不能改变测试.

irb(main):011:0> Robot.new.name == Robot.new.name
=> true
Run Code Online (Sandbox Code Playgroud)

检查object_id显示正在创建两个不同的实例.

irb(main):012:0> Robot.new.object_id == Robot.new.object_id
=> false
Run Code Online (Sandbox Code Playgroud)

为什么Ruby会这样做,我该怎么做才能修复它并假设有一个术语,我可以在搜索中键入什么来查找有关此问题的已回答问题.

ruby testing instance

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

NodeJS - SyntaxError:意外的标记ILLEGAL

我在大学服务器上创建了一个ubuntu实例.我已经安装了NodeJS和NPM,可以通过FTP连接发送文件.

我将以下NodeJS webserver文件发送到我的intance并希望在实例ip-adress上运行它.

var http = require(“http“);
http.createServer(function(request, response) {
    response.writeHead(200, {‚content-type’: ‚text/plain‚});
    response.write(‘Hello World’);
    response.end;
}).listen(3000‚141.28.107.7);
console.log(“server is running“);
Run Code Online (Sandbox Code Playgroud)

当我运行此文件时

sudo nodejs server.js
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

sudo: unable to resolve host nodejs
/home/robin/files/webserver.js:1
(function (exports, require, module, __filename, __dirname) { var http = require(“http“);
                                                                                 ^

SyntaxError: Unexpected token ILLEGAL
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:387:25)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Function.Module.runMain (module.js:447:10)
    at startup (node.js:148:18)
    at node.js:405:3
Run Code Online (Sandbox Code Playgroud)

我在推理中的错误在哪里?谢谢!

ubuntu instance node.js npm

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

如何在亚马逊AMI实例上编辑php.ini(php版本7.1)文件

我想在amazon-ec2 AMI instance.i上更改我的默认php.ini文件配置.我可以使用putty和filezila访问我的任何实例.

php instance amazon-ec2 amazon-web-services amazon-ami

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