我试图理解这个电话:
deprecate :new_record?, :new?
Run Code Online (Sandbox Code Playgroud)
使用此弃用方法:
def deprecate(old_method, new_method)
class_eval <<-RUBY, __FILE__, __LINE__ + 1
def #{old_method}(*args, &block)
warn "\#{self.class}##{old_method} is deprecated," +
"use \#{self.class}##{new_method} instead"
send(#{new_method.inspect}, *args, &block)
end
RUBY
end
Run Code Online (Sandbox Code Playgroud)
我真的不明白这里使用的元编程.但是,这只是别名new_record?方法的另一种方式- 所以实际上new_record?仍然可用,但是当你使用它时会发出警告吗?有人想解释一下这是如何工作的吗?
当找到Rails应用程序的Web托管时,托管服务商必须支持ruby on rails - 这是显而易见的.怎么样主持Django?主机需要提供哪些支持?Python,还是不仅仅是Python?
这似乎是一个显而易见的问题,但我是Web开发框架的新手,所以我必须要问:)
我一直在寻找一种从我的C程序中获取终端宽度的方法.我一直想出的是:
#include <sys/ioctl.h>
#include <stdio.h>
int main (void)
{
struct ttysize ts;
ioctl(0, TIOCGSIZE, &ts);
printf ("lines %d\n", ts.ts_lines);
printf ("columns %d\n", ts.ts_cols);
}
Run Code Online (Sandbox Code Playgroud)
但每次我尝试我得到
austin@:~$ gcc test.c -o test
test.c: In function ‘main’:
test.c:6: error: storage size of ‘ts’ isn’t known
test.c:7: error: ‘TIOCGSIZE’ undeclared (first use in this function)
test.c:7: error: (Each undeclared identifier is reported only once
test.c:7: error: for each function it appears in.)
Run Code Online (Sandbox Code Playgroud)
这是最好的方法吗,还是有更好的方法?如果不是,我怎么能让它工作?
编辑:固定代码是
#include <sys/ioctl.h>
#include <stdio.h>
int main (void)
{
struct winsize …Run Code Online (Sandbox Code Playgroud) 是否有一个良好的,没有,一个非常充分的理由,要通过使用getter和setter方法的面向对象语言的所有麻烦吗?使用对属性或方法的直接引用有什么问题?人们不想在礼貌的公司谈论某种"语义掩盖"吗?当有人走出去说"你应该写大量的代码以获取吸气剂和制定者"时,我是否太累了并且睡着了?
一年后的后续行动:
它似乎是Java的常见现象,而不是Python. 我开始怀疑这是否更像是一种文化现象(与语言的局限性有关),而不是"圣人的建议". 由于我不使用Java编程(目前可供选择),因此无法进行评估.
就我而言,目前(截至本文写作2010-03-22)-1问题得分已经完成了lulz.有趣的是,有一些特定的问题被低估了,不是因为它们是"坏问题",而是因为它们触及某人的原始神经.
那么让我们来解决问题.我重复一遍:
What's wrong with just using a direct reference to a property or method?
这是不成文的推论:
Are we so undisciplined as programmers that we can't keep our hands off of things that are clearly marked "no touchy"?
我在C风格的语言方面有很强的背景.并参与了几个不同类型的项目.在阅读编程集体智慧之后,我刚开始认真研究Python .我知道Python可以解决C#可以解决的任何问题,反之亦然.但我很好奇地从那些经常使用它们的人那里知道,当他们选择一个而不是另一个.删除其他因素,如同事体验等.
您何时选择使用Python创建应用程序而不是静态类型的纯OO语言(如C#或Java)?
我担心我们会在这个问题上稍微讨论一下话题.Python是一种面向对象的语言.但是,如下所述,当您的应用程序具有非常繁重的业务域等时,它可能不是首选语言.我知道Python广泛使用对象,甚至函数都是对象,这在某些情况下都不是真的.我之前提到的"OO"语言.
尽管我在问题中选择的单词很糟糕(几乎没有语言可以很好地融入两三个单词的描述中,但如果没有它出现在某种类型的开发人员面前,很难指出语言的差异.),当您更喜欢Python到其他语言时,我仍然非常感兴趣.
我有一个带有虚拟属性的“模型书”,可以从“书”表单中创建“编辑器”。代码如下:
class Book < ActiveRecord::Base
has_many :book_under_tags
has_many :tags, :through => :book_under_tags
has_one :editorial
has_many :written_by
has_many :authors, :through => :written_by
def editorial_string
self.editorial.name unless editorial.nil?
""
end
def editorial_string=(input)
self.editorial = Editorial.find_or_create_by_name(input)
end
end
Run Code Online (Sandbox Code Playgroud)
和新形式:
<% form_for(@book,
:html => { :multipart => true }) do |f| %>
<%= f.error_messages %>
...
<p>
<%= f.label :editorial_string , "Editorial: " %><br />
<%= f.text_field :editorial_string, :size => 30 %> <span class="eg">Ej. Sudamericana</span>
</p>
...
Run Code Online (Sandbox Code Playgroud)
这样,当表单数据没有通过验证时,当重新显示表单时,我丢失了在编辑字段中提交的数据,并且还创建了一个新的编辑器。我该如何解决这两个问题?我对红宝石很陌生,找不到解决方案。
更新我的控制器:
def create
@book = Book.new(params[:book]) …Run Code Online (Sandbox Code Playgroud) 我有一个简单的jQuery问题.
为什么我不能这样做?
$("<div class='flora'></div>").insertBefore('</body>');
Run Code Online (Sandbox Code Playgroud)
我只想在HTML页面的末尾添加一个新的div.所以我认为我会使用.insertBefore方法,但jQuery似乎不喜欢定位</body>标记.
想法?
谢谢!
问题:
我有两个可能长度不同的数组.我需要迭代两个数组并找到相似之处,添加和删除.
在C#中实现这一目标的最快,最有效的方法是什么?
编辑: 数组已预先排序,它们可以包含50到100个项目之间的任何位置.此外,对速度和/或内存使用没有任何限制(但是,没有人喜欢内存耗费;)
例如:
String[] Foo_Old = {"test1", "test2", "test3"};
String[] Foo_New = {"test1", "test2", "test4", "test5"};
Run Code Online (Sandbox Code Playgroud)
和
String[] Bar_Old = {"test1", "test2", "test4"};
String[] Bar_New = {"test1", "test3"};
Run Code Online (Sandbox Code Playgroud)
区别:
(关于Foo_New数组)
[Same] "test1" [Same] "test2" [Removed] "test3" [Added] "test4" [Added] "test5"
(关于Bar_New数组)
[Same] "test1" [Removed] "test2" [Removed] "test4" [Added] "test3"
我正在使用AVAudioRecorder录制音频,如我如何使用AVAudioRecorder在iPhone上录制音频?
然后我使用AVAudioPlayer播放录音.然而,声音是从耳机发出的,而不是扬声器.我如何将声音重定向到扬声器?
TIA!