下面是对 Rails Interview Questions 中的
Ruby 部分的解答:
从上面可以看出,其实Proc和lambda都是 Proc 对象。
首先我们来回答第一问:怎么通过某个字段来对对象数组排序?
假设我们有一个对象数组 @users ,我们需要让他对字段 name 排序,则我们可以:
如果是在 ActiveRecord 中,则我们只需:
下面列举我喜欢的几个常用的gems及它的可替代备选方案
首先我们说明一下递归(recursive)和迭代(iterative):
递归 :一个树结构,每个分支都探究到最远,发现无法继续走的时候往回走,每个节点只会访问一次。
迭代 :一个环结构,每次迭代都是一个圈,不会落掉其中的每一步,然后不断循环每个节点都会被循环访问。
由此我们可以看出 ruby 中更加常用的选择是 迭代 ,就像 .each , .times , .map 等都是迭代循环的形式。
ruby之父,松本行弘,日本人
于 2015-03-20
个人感觉 只要你写出来的代码有Ruby的感觉 面试基本问题都不大了 做Rails的话 能比较全面的理解MVC 数据库 对于初学者就可以了 我记得我面试的时候 是有很多编程题 不是很困难但是要求一定要用一句话写出来 多一行都不行/************************************************************************//*
编写程序从键盘上输入两个整数,检查第一个数是否能被第二个数整除
*/
/************************************************************************/
#include <stdio.h>
int main()
{
int num1 = 0
int num2 = 0
printf("输入第一个整数:")
scanf("%d",&num1)
printf("输入第二个整数:")
scanf("%d",&num2)
if (num1%num2 == 0)
{
printf("第一个数能够被第二个数整除.\n")
}
else
{
printf("第一个数不能够被第二个数整除.\n")
}
}
/************************************************************************/
/*
编写一个程序,输入某人的身高(cm)和体重(kg),按下式确定其体重是否
为标准、过胖或过瘦。(1)标准体重=身高-110;(2)超过标准体重5kg(即
大于5kg)为过胖;(3)低于标准体重5kg(即小于5kg)为过瘦
*/
/************************************************************************/
#include <stdio.h>
int main()
{
int num1 = 0
int num2 = 0
int num = 0
printf("输入身高(cm):")
scanf("%d",&num1)
printf("输入体重(kg):")
scanf("%d",&num2)
num = num1-num2-110
if (num >5)
{
printf("过胖.\n")
}
else if (num <5)
{
printf("过瘦.\n")
}
else
{
printf("标准.\n")
}
}
/************************************************************************/
/*
判断某一年是否是闰年:
*/
/************************************************************************/
#include<stdio.h>
int main()
{
int year = 0
printf ("请输入年份:")
scanf("%d",&year)
if ((year%4==0&&year%100!=0)||year%400==0)
{
printf("%d年是闰年\n",year)
}
else
{
printf("%d年不是闰年",year)
}
return 0
}
最后一个自己练练手吧。