小编Bha*_*aju的帖子

为什么在ruby2.0中object_id为true和nil?

我在某个时候遇到过这个 ruby object_id分配问题,然后阅读了这篇讨论VALUE的精彩文章,并解释了为什么object_id为true,nil和false的方式.当我发现有关object_id为true和nil的明显变化时,我一直在使用ruby2.0 object_id.

forbidden:~$ ruby -v
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux]
forbidden:~$
forbidden:~$ irb
irb(main):001:0> true.object_id
=> 20
irb(main):002:0> false.object_id
=> 0
irb(main):003:0> nil.object_id
=> 8
irb(main):004:0> exit
forbidden:~$
forbidden:~$ rvm use 1.9.3
Using /home/forbidden/.rvm/gems/ruby-1.9.3-p392
forbidden:~$ ruby -v
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]
forbidden:~$
forbidden:~$ irb
irb(main):001:0> true.object_id
=> 2
irb(main):002:0> false.object_id
=> 0
irb(main):003:0> nil.object_id
=> 4
Run Code Online (Sandbox Code Playgroud)

tl; dr: true和nil的值在1.9.3和1.8.7中分别为2,4,但在ruby2.0.0中已经更改为20,8,即使id为false仍然相同,即0和Fixnum的ID保持相同的旧2n + 1模式.

此外,Fixnum和Bignum的实现方式在2.0.0中仍然相同,因为上面提到的文章中给出的示例运行方式与以前相同:

irb(main):001:0> 
irb(main):002:0* ((2**62)).class
=> Bignum
irb(main):003:0> ((2**62)-1).class
=> …
Run Code Online (Sandbox Code Playgroud)

ruby internals objectid ruby-2.0

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

单击导航栏时,导航栏折叠不会随着下拉列表而展开

所以,我刚刚开始使用Bootstrap 3,我希望我的标题固定在顶部,其中的内容与正文中的内容垂直对齐,最后,响应.

一切正常,但点击折叠的导航栏似乎不起作用.单击那些带有三个条形图标的小图标,不会在下面显示我的列表.

我知道这可能是一个非常基本的错误,但在这里点击这个孩子,不起作用:

折叠的导航栏

我想我的标题中的类可能会出错.

这是我的代码:

<header class="navbar  navbar-default navbar-fixed-top" role="banner">
<div class="col-10">
<div class="container">
  <div class="navbar-header">
    <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".navbar-ex1-collapse">
      <span class="sr-only">Toggle navigation</span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
    </button>
      <a class="navbar-brand" href="#">Logo Text</a>
  </div>

  <nav class="collapse navbar-collapse" role="navigation">
    <ul class="nav navbar-nav navbar-right">
      <li class="home_button"> <a href="#"> <span class="glyphicon glyphicon-home"></span> </a> </li>
      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown"><b class="caret"></b></a>
        <ul class="dropdown-menu">
          <li> <a href="#" > My Account </a> </li><br>
          <li> <a href="#"> Logout </a> </li>
        </ul>
      </li>
    </ul> …
Run Code Online (Sandbox Code Playgroud)

twitter-bootstrap twitter-bootstrap-3

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

在Python中对任务进行计时

我已经尝试解决这个问题有一段时间了,但一直没能成功。基本上我想做的是获取完成特定任务所需的时间。

例如:

def find(x):
  if x in stuff:
    return "X was found, Search Time: [TIME IT TOOK]"
Run Code Online (Sandbox Code Playgroud)

我希望它类似于“搜索时间:0.03 秒”。这是一个非常糟糕的例子,但现在是午夜,我正在尝试为学校完成一个 python 项目,因此非常感谢所有答案。

谢谢

python time

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

UnicodeDecodeError:'ascii'编解码器无法解码位置0中的字节0xcb:使用tastypie时序号不在范围内(128)

我正在使用Django 1.4测试tastypie 1.9,为我的网站创建一个基本的REST API.我正在遵循文档中的初始步骤,我遇到了困难.

我在全球运行Django,并没有使用virtualenv进行此特定实现.它在浏览器中说A server error occurred. Please contact the administrator..我只在django服务器上运行它.

这是我尝试访问时在终端中出现的错误消息 http://127.0.0.1:8000/api/sessionuserround/?format=json

[20/Jun/2013 10:26:19] "GET /api/sessionuserround/?format=json HTTP/1.1" 500 99752
Traceback (most recent call last):
  File "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/handlers.py", line 85, in run
    self.result = application(self.environ, self.start_response)
  File "/usr/local/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 67, in __call__
    return self.application(environ, start_response)
  File "/usr/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 241, in __call__
    response = self.get_response(request)
  File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 146, in get_response
    response = debug.technical_404_response(request, e)
  File "/usr/local/lib/python2.7/site-packages/django/views/debug.py", line 443, in technical_404_response
    'reason': smart_str(exception, errors='replace'),
  File "/usr/local/lib/python2.7/site-packages/django/utils/encoding.py", line 116, in …
Run Code Online (Sandbox Code Playgroud)

django tastypie

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

'FormHelper' 对象在 django 中使用脆皮表单时没有属性 'append'

我是 Django 的新手,我正在尝试用脆脆的形式来设计表单。我的应用程序中有一个表单,它恰好是一个模型表单,我已经按照这里所说的/sf/answers/924111191/使 ModelForm 与脆皮表单一起工作,但收到此错误:

'FormHelper' object has no attribute 'append'

这是我的代码的外观forms.py

from django import forms
from models import Ticket, Ticketuser
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Submit, Layout, Fieldset, ButtonHolder
from crispy_forms.bootstrap import FormActions

class AddTicketForm(forms.ModelForm):

  def __init__(self, *args, **kwargs):
    super(AddTicketForm, self).__init__(*args, **kwargs)
    self.helper = FormHelper(self)
    self.helper.append(Submit('save', 'save'))

  class Meta:
    model = Ticket
    fields = ('id', 'comment')

  def process(self):
    data = self.cleaned_data
    data = data['comment']
    return data
Run Code Online (Sandbox Code Playgroud)

如何克服这个问题并像我想要的那样设计表单?

python django django-forms django-crispy-forms

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

为什么方法声明在ruby中评估为nil?

定义一个方法似乎没有评估为真值,因为可以通过将一个放入if条件来检查:

if(def some_method; puts "random text"; end) then
  puts "declaration evaluates to true"
else
  puts "declaration evaluates to false"
end
# => declaration evaluates to false
Run Code Online (Sandbox Code Playgroud)

方法声明为什么/如何评估nil

ruby methods

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

为什么我们不能使用Python中的地址访问对象?

背景

我最近才知道这是因为垃圾收集会随时清除该位置的内容,所以依赖它会是一个坏主意.可能还有其他一些原因,但我不知道.

我也知道我们可以使用C访问给定其位置的对象,因为CPython地址=对象的id.(我应该感谢IRC人员.)但我没试过.

我在谈论这个地址(id):

address = id(object_name)
Run Code Online (Sandbox Code Playgroud)

或者可能是这个(如果有帮助):

hex_address = hex(id(object))
Run Code Online (Sandbox Code Playgroud)

无论如何,我仍然认为如果他们提供一些可以为我做的方法会更好.

我不想在实践中使用这样的方法,但令我困扰的是,我们有一个对象和一些可以提供其地址的东西,但反之亦然.

  • 为什么做出这个决定?
  • 我们可以在Python级别使用疯狂的内省/黑客来做到这一点吗?我被告知我们不能在Python级别这样做,但我只是想确定.

python

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