我有一个Python Shape类,其中包含一个名为datum的属性.它是一个包含两个数字x和y的列表.
如果我做
my_shape = Shape()
Run Code Online (Sandbox Code Playgroud)
然后给出基准默认值:[0,0]现在,我想通过执行以下操作重新分配基准:
my_shape.datum = [3,2]
Run Code Online (Sandbox Code Playgroud)
然后我的基准现在被分配了该列表.
但我也有属性x和y.如何使x和y自动更新以成为基准列表的第一项和第二项?
我把它放在init中
self.x = self.datum[0]
self.y = self.datum[1]
Run Code Online (Sandbox Code Playgroud)
但是这只会将x和y分配给初始值,而我无法弄清楚self.datum更新时如何更新.
如果这令人困惑,我很抱歉.非常感谢你帮助这个新手.
-Jason
我正在阅读 Bruce Eckel 的《Thinking in C++》第 2 版,第 82 页,其中写道:“您可以在许多不同的地方声明一个变量或函数,但在 C 和 C++ 中必须只有一个定义(有时称为ODR:单一定义规则)。”
什么情况下可以从多次声明中受益?您是否需要这样做,或者只是为了使代码更具可读性?
谢谢。
我跟随迈克尔·哈特尔(Michael Hartl)第13章的导轨教程,但不是微博,我正在创造动物.
我对动物的看法显示了一个"删除"超链接,该超链接应该从我的列表中删除动物记录,但是视图动作似乎没有达到它使用destroy方法的程度.
我在这里阅读了类似帖子中的所有答案,但在我的案例中找不到那些答案.
我正按照本教程中的说明,在AWS cloud9上的开发环境中.我真的很感激任何指针,因为我几天都在努力争取这个.
这是我的视图中的代码:
<li id="animal-<%= animal.id %>">
<%= link_to gravatar_for(animal.user, size: 50), animal.user %>
<span class="user"><%= link_to animal.user.name, animal.user %></span>
<span class="ear_tag"><%= animal.ear_tag %></span>
<span class="timestamp">
Posted <%= time_ago_in_words(animal.created_at) %> ago.
<% if current_user?(animal.user) %>
<%= link_to "delete", animal, method: :delete, data: { confirm: "You sure?" } %>
<% end %>
</span>
</li>
Run Code Online (Sandbox Code Playgroud)
从Feed视图调用此视图:
<% if @feed_items.any? %>
<ol class="animals">
<%= render @feed_items %>
</ol>
<%= will_paginate @feed_items %>
<% end %> …Run Code Online (Sandbox Code Playgroud)