小编Ale*_*dre的帖子

为什么数组的地址等于它在C中的值?

在下面的代码中,指针值和指针地址按预期不同.

但数组值和地址不行!

怎么会这样?

产量

my_array = 0022FF00
&my_array = 0022FF00
pointer_to_array = 0022FF00
&pointer_to_array = 0022FEFC
Run Code Online (Sandbox Code Playgroud)
#include <stdio.h>

int main()
{
  char my_array[100] = "some cool string";
  printf("my_array = %p\n", my_array);
  printf("&my_array = %p\n", &my_array);

  char *pointer_to_array = my_array;
  printf("pointer_to_array = %p\n", pointer_to_array);
  printf("&pointer_to_array = %p\n", &pointer_to_array);

  printf("Press ENTER to continue...\n");
  getchar();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c arrays pointers

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

Rails:部分人员应该知道实例变量吗?

例如,Ryan Bates的nifty_scaffolding就是这样做的

edit.html.erb

<%= render :partial => 'form' %>
Run Code Online (Sandbox Code Playgroud)

new.html.erb

<%= render :partial => 'form' %>
Run Code Online (Sandbox Code Playgroud)

_form.html.erb

<%= form_for @some_object_defined_in_action %>
Run Code Online (Sandbox Code Playgroud)

隐藏的状态让我感到不舒服,所以我通常喜欢这样做

edit.html.erb

<%= render :partial => 'form', :locals => { :object => @my_object } %>
Run Code Online (Sandbox Code Playgroud)

_form.html.erb

<%= form_for object %>
Run Code Online (Sandbox Code Playgroud)

那么哪个更好:a)有部分访问实例变量b)传递部分所需的所有变量?

我一直在选择b)最近,但我确实遇到了一点点泡菜:

some_action.html.erb

<% @dad.sons.each do |a_son| %>
<%= render :partial => 'partial', :locals => { :son => a_son } %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

_partial.html.erb

The son's name is <%= son.name %>
The dad's name is …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails actionview partial

63
推荐指数
3
解决办法
2万
查看次数

Div的重新排序

如何在不改变HTML源代码的情况下重新排序div?

例如,我希望div以#div2,#div1,#div3的顺序出现,但在HTML中它们是:

<div id="#div1"></div>  
<div id="#div2"></div>  
<div id="#div3"></div>
Run Code Online (Sandbox Code Playgroud)

谢谢!

html javascript css jquery

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

在Rails单元测试中输出(放置,打印)

运行ActiveSupport :: TestCase测试时,如何在控制台中显示诸如puts和print之类的命令?

如果我不能通过几种方法输出某些检查,则很难调试.

谢谢!

unit-testing ruby-on-rails

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

ActionMailer:默认来自:地址?

用谷歌搜索无济于事.在API中也没有找到任何东西.我期待某种类方法或配置选项来设置它...

所以,而不是打电话

from "my@email.com"
Run Code Online (Sandbox Code Playgroud)

对于每种方法,都可以自动调用.

ruby-on-rails actionmailer

17
推荐指数
3
解决办法
2万
查看次数

你如何计划你的Rails应用程序?

我正在为客户启动Rails应用程序,并且正在考虑创建思维导图或直接跳到Cucumber规范.

你如何计划你的Rails应用程序?

作为一个额外的问题,假设你也从Cucumber开始,那么你会在哪一点上编写单元测试?在满足规格之前?

project-planning mindmapping ruby-on-rails

14
推荐指数
3
解决办法
5046
查看次数

厌倦了非语义测试以弥补动态类型 - 建议?

在我开始学习计算机工程之前,我曾经在Rails(之前的PHP)中做了很多Web编程.

从那时起,我在C中完成了大量的学习工作,并在Objective-C(Mac的东西)中完成了一些个人工作.我学会了喜欢静态打字.

但是现在我不得不做一些专业的网页开发(自由职业),并再次获得了Rails.我发现编写非语义类型检查测试真的很烦人.我从C和Objective-C编译器中免费获得这些.我喜欢点击Build并让系统检查我的所有代码,看A可以调用B,B可以调用一些模糊的库C等.我所要做的就是测试语义.但是对于Rails,我是编译器.:(

有人走过同样的道路吗?我是使用C#和Java + x框架进行Web开发ASP.NET MVC的唯一选择吗?寻找一些建议,甚至是一些同情......:P

顺便说一句,我特别提到了Rails而不是Ruby,因为我不介意Ruby的动态特性,比如脚本或其他简单的东西.但由于Rails依赖于如此多的宝石,并且由于通常会添加许多其他宝石,因此动态类型成为一个问题.

谢谢!

编辑:

我跟进了pst的建议并调查了Scala.在阅读由Scala创作者Martin Odersky撰写的"Scala编程"一书时,我发现了这一段文本,它在很多方面表达了我的关注和更多.非常有趣的阅读.

摘自Martin Odersky的Scala编程第52页:

Scala是静态类型的

静态类型系统根据它们保存和计算的值的类型对变量和表达式进行分类.Scala作为一种具有非常先进的静态类型系统的语言脱颖而出.从嵌套类类型很像Java的制度开始,它可以让你参数化类型的泛型,使用交叉类型组合,并隐藏的使用抽象类类型的详细信息.这些为构建和组合您自己的类型奠定了坚实的基础,因此您可以设计同时安全且灵活使用的界面.

如果你喜欢动态语言如Perl,Python和Ruby,或Groovy,你可能会发现它有点怪Scala的静态类型系统列为其强项之一.毕竟,有些人认为缺少静态类型系统是动态语言的主要优势.针对静态类型最常见的论据是,他们做节目太冗长,阻止程序员表达出他们希望,使软件系统动态修改不可能某些模式.

但是,往往这些参数不违背静态类型一般的想法,而是针对特定类型的系统,该系统被认为过于冗长或太不灵活.例如,艾伦·凯,Smalltalk语言的发明者,曾经说过:"我不反对的类型,但我不知道任何类型的systemsthat的是不是一个完整的痛苦,所以我还是喜欢动态类型."

我们希望能说服你在这本书Scala的类型系统是远不是一个"完整的痛"事实上,它解决了很好的两个关于静态类型的普遍关注:通过类型推断避免冗长和灵活性,通过模式匹配获得以及编写和撰写类型的几种新方法.有了这些障碍,可以更好地理解静态类型系统的经典优势.其中最重要的好处是程序抽象,安全重构和更好的文档的可验证属性.

可验证的属性

静态类型系统可以证明不存在某些运行时错误.例如,他们可以证明属性,如:布尔从来没有加入到整数; 私有变量不能从他们的课外访问; 函数应用于正确数量的参数; 只有字符串被添加到一组字符串中.

今天的静态类型系统没有检测到其他类型的错误.例如,它们通常不会检测非终止函数,数组边界违规或除零.他们也不会检测到你的程序不符合其规范(假设有一个规范,那就是!).因此,一些人认为静态类型系统不是很有用.该论点认为,由于此类型系统只能检测简单错误,而单元测试提供更广泛的覆盖范围,为什么还要使用静态类型呢?

我们认为这些论点忽视了这一点.虽然静态类型系统当然不能取代单元测试,但它可以通过处理一些本来需要测试的属性来减少所需的单元测试数量.同样,单元测试不能取代静态类型.毕竟,正如Edsger Dijkstra所说,测试只能证明存在错误,而不是缺席.因此,静态类型提供的保证可能很简单,但它们是形式的真正保证,没有多少测试可以提供.

安全的重构

静态类型系统提供了一个安全网,使您可以高度自信地对代码库进行更改.例如,考虑一个为方法添加附加参数的重构.在静态类型语言中,您可以进行更改,重新编译系统并简单地修复导致类型错误的所有行.完成此操作后,您确定已找到所有需要更改的位置.对于许多其他简单的重构,例如更改方法名称或将方法从一个类移动到另一个类,这同样适用.在所有情况下,静态类型检查将提供足够的保证,使新系统像旧系统一样工作.

文档

静态类型是程序文档,编译器会检查它是否正确.与普通注释不同,类型注释永远不会过时(至少在包含它的源文件最近通过编译器时不会).此外,编译器和集成开发环境可以使用类型注释来提供更好的上下文帮助.例如,集成开发环境可以通过确定进行选择的表达式的静态类型并查找该类型的所有成员来显示可供选择的所有成员.

c# java scala static-typing ruby-on-rails

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

MongoDB:什么是连接池和超时?

所以我的Passenger旋转了我的Rails应用程序的5个实例

我使用Connection.new("localhost",3000,:pool_size => 1,:timeout => 5)连接到MongoDB

如果我在启动Rails应用程序时只产生开销,而不是按照请求,为什么我需要一个"连接池"?为什么单个进程需要多于1个连接?

超时的目的是什么?为什么我要连接超时?不应该坚持通过Rails流程的生命周期吗?

如此迷茫...

这个问题特定于Ruby和Mongo,但我想它适用于其他语言/数据库.

ruby database mongodb

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

分享Facebook,转发等,直接Ruby宝石中的按钮?

请注意http://techcrunch.com/2010/04/04/he-even-makes-coldplay-sound-fun/上方的那些按钮,以便在社交网络上分享网址?

我想为我正在建设的网站做一些非常相似的事情.ShareThis提供了一个小部件,它做同样的事情,但它的品牌和外部.

我正在寻找一个纯Ruby解决方案.包含可以包含在Rails ApplicationHelper类中的模块的gem将是完美的.

在重新发明轮子之前,建议值得赞赏!

想象的东西:

<%= share_links object_url(@object), [:facebook, :twitter, :reddit] %>
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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

Xcode:链接框架与其他框架

来自C背景,"链接框架"和"其他框架"是什么意思?

看看我的构建目标,我看到Linked Frameworks实际上是链接的(动态地,我认为 - 静态链接如何工作?)

什么是"其他框架"呢?

为了测试,我在文件中使用了Foundation定义的NSString类.基础是在其他框架中,并没有与目标链接.

唉,编译完成没有警告,可执行文件运行.

xcode objective-c

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