标签: init

__init__的目的

我已经完成了一些阅读,并且无法像我想的那样完全掌握这一点.我正在从LPTHW教程中做一些"选择你自己的冒险"游戏,这里是完整的脚本:http://codepad.org/YWVUlHnU

我不明白的是以下内容:

class Game(object):

    def __init__(self, start):
        self.quips = [
            "You died. Please try again.",
            "You lost, better luck next time.",
            "Things didn't work out well. You'll need to start over."
            "You might need to improve your skills. Try again." 
        ]
        self.start = start
Run Code Online (Sandbox Code Playgroud)

我知道我们正在创建一个类,但为什么要定义__init__?后来我做了类似print self.quis[randint(0, len(self.quips)-1)]打印四个字符串中的一个的东西quips,但为什么我不会创建一个叫做的函数quips呢?

python init

4
推荐指数
2
解决办法
2376
查看次数

这增加了保留计数:alloc还是init?

当我们需要创建一个对象并获得它的所有权时,我们会写

NSObject *someObject = [[NSObject alloc] init];
Run Code Online (Sandbox Code Playgroud)

之后,someObject保留计数将等于1.哪种方法会增加计数,alloc或者init,在Apple的文档中,这种行为的描述是什么?

objective-c init alloc retaincount

4
推荐指数
3
解决办法
2328
查看次数

缺少初始化的后果?

在将一个编码非常糟糕的iOS项目移植到OS X的过程中,我在其中保留了模型层,以便(稍后)能够保持两个版本同步.

我目前无权更改iOS代码库 - 也不特别想要.此外,对于所有故障,模型层都经过测试和工作.

他们说,如果没有破产,就不要修理它.所以我想我的问题是,下面的代码破坏或没有?注意,init之后没有调用alloc,并且实例化的类是直接子类NSObject.

...
SuspectClass *obj = [SuspectClass alloc];
obj.arrayProperty = [NSArray arrayWith...];

// etc.
...
Run Code Online (Sandbox Code Playgroud)

我想另一个办法把问题是,如果NSObjectinit实际上增加了什么对象?

cocoa cocoa-touch objective-c init nsobject

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

如何在启动期间设置gsettings?

我有一个pxe服务器,它托管Ubuntu 12.04的实时图像,我想在其上启用VNC.

通常我会使用以下命令执行此操作:

$ gsettings设置org.gnome.Vino启用true

但是,由于这个实时操作系统存在于RAM中,因此每次都需要在启动时执行此操作.问题是由于某种原因,它不适用于/etc/init.d /中的脚本...对于我的生活,我无法弄清楚为什么gsettings在这种情况下不起作用..

作为参考,这是我在/etc/init.d中使用的脚本:

#!/bin/bash

log=/var/log/gsettings.log

#Needed for some reason.. received info from http://stackoverflow.com/questions/10374520/gsettings-with-cron
sessionfile=`find "${HOME}/.dbus/session-bus/" -type f`
export $(grep "DBUS_SESSION_BUS_ADDRESS" "${sessionfile}" | sed '/^#/d')

set_gsettings()
{
    echo "Inside set_gsettings" >> $log

    #Enable vino
    gsettings set org.gnome.Vino enabled true 2>&1 >> $log
    gsettings set org.gnome.Vino prompt-enabled false 2>&1 >> $log
}

case "$1" in
  start)
    echo "Inside IT-gsettings" >> $log
    set_gsettings
  ;;

  restart|reload|force-reload)
    /etc/init.d/IT-gsettings start
  ;;

  stop)
   :
  ;;

  *)
    log_success_msg "Usage: /etc/init.d/IT-gsettings {start|stop|restart|reload|force-reload}"
    exit 1 …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu gnome init ubuntu-12.04

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

动态加载js时,不能使用微小的mce

我有TinyMCE的,当我把麻烦<script type="text/javascript" src="/scripts/tiny_mce/tiny_mce.js"><head>,并把初始化代码之前<textarea class="tinyMceEditor">,它工作正常.init代码是这样的:

                    tinyMCE.init({
                        mode : "specific_textareas",
                        editor_selector : "tinyMceEditor",
                        plugins : "inlinepopups,advlink",
                        convert_urls : false,
                        theme : "advanced",
                        theme_advanced_buttons1 : "link,unlink",
                        width: "602",
                        height: "175",
                        theme_advanced_statusbar_location : "none"}); 
Run Code Online (Sandbox Code Playgroud)

但是现在,我想推迟加载tiny_mce.js,当用户第一次点击一个按钮时,将加载tiny_mce.js,然后追加<textarea class="tinyMceEditor"><body>,然后使用前面的代码执行init工作,但是这个时间,它不会初始化tinyMCE编辑器,它只显示<textarea class="tinyMceEditor">

谷歌搜索,但没有发现与此有关,任何人都遇到了这个问题?

任何建议将不胜感激.

我查看了chrome web开发人员工具,发现如果我动态加载tinymce.js,其他需要的js,如en.js,editor_template.js,editor_plugin.js等将不会被加载.即使我将这些js文件添加到动态加载中,仍然无法使用tinymce.


感谢您的帮助,我看着萤火虫,我也得到追加载入前tinymce.js <textarea<body>,然后我追加<textarea>,做TinyMCE的init(),我使用LazyLoad(jQuery插件)来动态加载js文件.

这就是我所做的

if(typeof TinyMCE == "undefined"){
    //dynamically load the tinymce.js
    LazyLoad(['tinymce.js'],function(){
        //callback function, called after tinymce is loaded
        $('body').append('<textarea class="TinyMceEditor"/>');
        tinyMCE.init({init settings});
    });
} …
Run Code Online (Sandbox Code Playgroud)

tinymce initialization init dynamic-loading

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

lua超载:可能性?

我的小组目前正在与Lua合作,创建一款安卓游戏.我们遇到的一件事是无法创建重载构造函数.

我习惯于使用默认值设置对象,然后在需要时会过载.

例如:

apples()
{
    taste="yum";
    amount = 0;

}

apples(string taste, int num)
{
    taste=taste;
    amount=num;

}
Run Code Online (Sandbox Code Playgroud)

但是,由于无法做到这一点,我们将这些lare if/else部分用于初始化,如下所示

if velX ~= nil then
    self.velX = velX
else
    self.velX = 0
end

if velY ~= nil then
    self.velY = velY
else
    self.velY = 0
end
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法在Lua中设置它?

lua overloading init

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

在__init __()python中打开文件

嘿我有一个以下问题,我需要打开一个文件__init__(),并且check我需要检查该文件的行中的字符串/数字是否相同.如果它们不是它应该返回,True如果它们应该返回False,并且如果没有更多的线None.我不知道文件中会有多少行.我的代码工作正常,测试人员给我90%,但它说我不关闭文件,我明白为什么它说,但不知道在哪里放近.但是,如果我打开它with应该工作,但我不知道如何让它以这种方式工作.

我的代码:

class Program:
    def __init__(self, file_name):
        self.t = open(file_name, 'r')

    def check(self):
        row = self.t.readline()

        array = []

        for i in row.split():
            if i not in array:
                array.append(i)

        if row.split() == []:
            return None
        elif array == row.split():
            return True
        else:
            return False

"""
#testing

if __name__ == '__main__':
    u = Program('file.txt')
    z = True
    while z is not None:
        z = u.check()
        print(z)

"""
Run Code Online (Sandbox Code Playgroud)

示例文件:

15 …
Run Code Online (Sandbox Code Playgroud)

python file init

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

init.rc:服务名称无效

试图通过Android上的init.rc启动服务.

service name_of_my_service /path/to/my/service
    user root
Run Code Online (Sandbox Code Playgroud)

收到以下错误:

init:无效的服务名称name_of_my_service

service android init

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

为什么我需要静态?

为什么我可以写这个:

class VoiceManager
{
public:
    static const int mMaxNumOfVoices = 16;
    Voice mVoices[mMaxNumOfVoices];

private:
};
Run Code Online (Sandbox Code Playgroud)

但我不能用这个:

class VoiceManager
{
public:
    const int mMaxNumOfVoices = 16;
    Voice mVoices[mMaxNumOfVoices];

private:
};
Run Code Online (Sandbox Code Playgroud)

它说:" 非静态成员引用必须与特定对象相关 "

但在这两种情况下,mMaxNumOfVoices是一个const并且将在init之前mVoices初始化(编译器遵循声明顺序,没有?).

但它需要static.为什么?

c++ static const init

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

在不定义__init__函数的情况下创建类的实例

我相对来说是python的新手,我想知道你是否可以在不定义init明确的情况下创建一个类的实例.我可以称之为其他吗?

第一个例子 - 使用init方法:

class dog:
def __init__(self,name):
    self.name=name
    print('My name is',name)
Bob = dog('Bob')
Run Code Online (Sandbox Code Playgroud)

第二个例子 - 没有init方法:

class dog:
def init_instance(self,name):
    self.name = name
    print('My name is',name)

Bob = dog('Bob')
Run Code Online (Sandbox Code Playgroud)

在第一个例子中,代码有效,但在第二个例子中,我得到:

TypeError:object()不带参数

所以基于此我假设必须显式调用init方法.但是我看过没有使用过init方法的代码,为什么会这样?

python class init

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