小编jrh*_*424的帖子

向初学者解释python'self'变量

我几乎不知道OOP术语和概念.我从概念上知道对象是什么,对象有方法.我甚至明白在python中,类是对象!那很酷,我只是不知道它意味着什么.它没有点击我.

我目前正在尝试理解一些我认为将阐明我对python的理解的详细答案:

  1. "yield"关键字在Python中的作用是什么?
  2. 什么是Python中的元类?

在第一个答案中,作者使用以下代码作为示例:

>>> class Bank(): # let's create a bank, building ATMs
...    crisis = False
...    def create_atm(self) :
...        while not self.crisis :
...            yield "$100"
Run Code Online (Sandbox Code Playgroud)

我不会立即弄清楚self指向的是什么.这绝对是不理解类的一个症状,我将在某些时候开展工作.澄清,在

>>> def func():
...   for i in range(3):
...     print i
Run Code Online (Sandbox Code Playgroud)

我理解i指向列表中的项目range(3),因为它在函数中,不是全局的.但是什么self"指向"?

python oop scope class

33
推荐指数
5
解决办法
8万
查看次数

运行Guard进程出错:找不到单一化方法

我按照Rails教程使用Guard和Spork设置自动化测试.每隔一段时间,特别是在我的编辑器中保存未经编辑的模板时,Guard会抱怨(完全回溯):

ERROR: Problem with watch action!
undefined method `singularize' for "layouts":String
Run Code Online (Sandbox Code Playgroud)

我的Guardfile:

# A sample Guardfile
# More info at https://github.com/guard/guard#readme

guard 'rspec', :version => 2, :all_after_pass => false, :cli => '--drb' do
  watch(%r{^spec/.+_spec\.rb$})
  watch(%r{^lib/(.+)\.rb$})     { |m| "spec/lib/#{m[1]}_spec.rb" }
  watch('spec/spec_helper.rb')  { "spec" }

  # Rails example
  watch(%r{^spec/.+_spec\.rb$})
  watch(%r{^app/(.+)\.rb$})                           { |m| "spec/#{m[1]}_spec.rb" }
  watch(%r{^app/(.*)(\.erb|\.haml)$})                 { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
  watch(%r{^lib/(.+)\.rb$})                           { |m| "spec/lib/#{m[1]}_spec.rb" }
  watch(%r{^app/controllers/(.+)_(controller)\.rb$})  do |m|
    ["spec/routing/#{m[1]}_routing_spec.rb",
     "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb",
     "spec/acceptance/#{m[1]}_spec.rb",
     "spec/requests/#{m[1].singularize}_pages_spec.rb"] ### Look here …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails guard

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

如何在终端中将S-RET发送给Emacs?

org-mode,按M-S-RET(元移位返回)将TODO在新线上创建新的.此密钥序列M-RET通过我的终端发送到emacs.我已经检查了这个C-h c ESC-S-RET,它返回M-RET is undefined迷你缓冲区.

我正在使用Snow Leopard和在Terminal.app中运行的Emacs 23.2.1.没有选项RET在终端键盘首选项中定义序列.

有什么想法导致失踪SHIFT?解决方法?

macos emacs terminal emacs23 org-mode

13
推荐指数
2
解决办法
2902
查看次数

Shift-Tab在Emacs中产生神秘错误

我正在尝试学习org-mode并注意到当我退出emacs时我的文件整齐折叠.当按下S-TAB试图展开整个文件时,我在迷你缓冲区中收到以下错误消息:M-[ z is undefined.谷歌搜索错误没有帮助.知道呃逆发生在哪里以及我如何解决它?

我正在使用Mac OS X 10.6.4和Terminal.app,GNU Emacs 23.2.1.

编辑:我现在可以确认问题是Terminal.app.我没有收到使用Carbon Emacs或在iTerm.app中使用Emacs时出现此错误消息.

感谢Gilles耐心地为我提供解决方案.

emacs emacs23 org-mode

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

执行db:test:从另一个rake任务中准备

我正试图rake db:test:prepare从另一个任务执行.

namespace :db do
  namespace :populate do
    desc "Seed development database"
    task development: :environment do
      puts "Kill local server"
      %x{ ps xauwww | grep -i --regex="[t]hin" | awk '{print $2}' | xargs kill }
      puts "Resetting development database"
      Rake::Task['db:reset'].execute
      puts "Migrating development database"
      Rake::Task['db:migrate'].execute
      puts "Populating development database"
      Rake::Task['db:populate'].execute
      puts "Pepare test database"
      Rake::Task['db:test:prepare'].execute
      puts "Start local server"
      system 'thin -d start'
    end
   …
end
Run Code Online (Sandbox Code Playgroud)

使用invoke而不是execute无济于事.如果我自己定义它似乎工作正常:

task example: :environment do
  Rake::Task['db:test:prepare'].execute
end
Run Code Online (Sandbox Code Playgroud)

当我运行时rake db:populate:development,所有任务都在运行,除了Rake::Task['db:test:prepare'].execute …

rake ruby-on-rails

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

Sublime Text 2中的奇数字符:`SOH`和`ACK`

在将旧笔记从org语法转换为mmd,我使用Clean Text应用程序删除额外的换行符和非unicode字符,并转换为安全的行结尾.将文本粘贴回Sublime Text 2时,我发现了几个奇怪的字符.我真的不太关心为什么他们在那里,我只想知道这些角色是什么,以及它们是否可以使用正则表达式进行搜索?

非unicode字符?

unicode sublimetext2

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

使用GraphViz绘制广泛形式的游戏

我试图在GraphViz中绘制一个广泛的表格游戏。编译代码会生成一张在所有方面都正确的图形,唯一一种图形是正确的。我希望将“战争”标签放置在它所标记的边缘的左侧,以使边缘最接近“ r”而不是“ W”。

到目前为止,这是我的“游戏”或图表:

    digraph hierarchy_of_D  { 

            graph [rankdir ="UD"] 
            node [color=black,shape=circle]
            //splines="polyline"

     I [label="R"] 

     subgraph infoset1 
      { 
       label="whatever" 
       rank="same" 
       1 [label="C"]
       2 [label="C"]
      } 


     I -> 1 [label="War"] //fix how this floats right of the line
     I -> 2 [label="Peace"]
     1 -> 2 [style=dashed, dir=none] 

     subgraph info21 
      { 
        rank="same" 
        3 [label="(2,2)", rank=sink, shape="plaintext"]
        4 [label="(5,1)", rank=sink, shape="plaintext"]
        5 [label="(1,5)", rank=sink, shape="plaintext"]
        6 [label="(4,4)", rank=sink, shape="plaintext"]
       } 

       1 -> 3 [label="War"]
       1 -> 4 [label="Peace"]
       2 -> 5 [label="War"]
       2 …
Run Code Online (Sandbox Code Playgroud)

dot graphviz

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

规范化,非规范化,还是什么?在调查数据库中存储响应的表

尽管我使用 Django 的 ORM 来实现这些表,但我有意将此作为一个一般性问题来构建。如果你想看一看,这是我的 Django 模型

谜语

我有几个表具有以下关系:

Survey <--m2o-- Page <--m2o-- Category <--m2o-- Question <--m2o-- Choice <--?-- Response
|               |             |                 |                 |
|- name         |-number      |- name           |- sortid         |- sortid
                              |- sortid         |- text           |- text
                              |- text           |- short
                                                |- qtype
Run Code Online (Sandbox Code Playgroud)

m2o多对一的简写在哪里,每个表都有一个隐式主键,我的问题是关于如何组织响应表。

响应表应该与用户表有某种关系(取决于表定义,这可能是一对一或多对一)。该表的目的是存储用户对特定问题的回答。我遇到的问题是,根据问题类型,我需要将响应存储在响应表中的不同列类型中。例如一个表可能类似于:

| user | (question) | (qtype)         | choice    | response                      |
|------+------------+-----------------+-----------+-------------------------------|
| 1    | Q1         | Select One      | A         | False                         |
| 1    | ''         | …
Run Code Online (Sandbox Code Playgroud)

django polymorphism orm normalization relational-database

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