所有以下API都做同样的事情:打开一个文件并为每一行调用一个块.有什么偏好我们应该使用一个而不是另一个?
File.open("file").each_line {|line| puts line}
open("file").each_line {|line| puts line}
IO.foreach("file") {|line | puts line}
Run Code Online (Sandbox Code Playgroud) 而不是自动运行所有测试用例,有没有办法在ruby测试/单元框架下执行单个测试.我知道我可以通过使用Rake实现这一目标,但我现在还没准备好转向rake.
ruby unit_test.rb #this will run all the test case
ruby unit_test.rb test1 #this will only run test1
Run Code Online (Sandbox Code Playgroud) =========================
更新:经过几天的谷歌搜索和实验,我找到了大多数这些愚蠢问题的答案.查看我提交的答案.
=========
Android Window的责任是什么?
以下是一些问题:
编辑:添加更多问题:
各种类的职责是什么,例如Window,View,Canvas,Surface以及它们如何相互协作?
通常一个Activity有多少个窗口?
3.一个活动中的所有视图都将附加到Window吗?附加是什么意思?
每个窗口都有表面?每个画布都有表面?
View负责focus/keyEvent/manager,而Cavus只负责"绘图"操作.
WindowManager负责Window堆叠?这与SurfaceFlinger有什么关系?
View不拥有Surface,视图包含的Window拥有?
使用canvas通过调用surface.lockCanvas()得到View.
何时调用onDraw(Canvas)?如何以及谁传递画布参数?
Canvas有尺寸吗?Window的表面总是全屏吗?
再次编辑:
看完Romain Guy http://www.youtube.com/watch?v=duefsFTJXzc&feature=feedwll&list=WL提供的精彩演示后,几个问题得到解决并添加了几个问题:)
我已经读过这个,但仍然没有充分意识到slice反对的优势.array所以我期待有人在SO解释比它更好,我相信你可以:)
我正在阅读SQLite FAQ,并发现了这段话:
线程是邪恶的.避免他们.
我不太明白"线程是邪恶的"这句话.如果这是真的,那么替代方案是什么?
我对线程的肤浅理解是:
注意:由于我不熟悉Windows上的线程,我希望讨论仅限于Linux/Unix线程.
@post.body有以下内容(使用RDiscount从Markdown转换).如何将其呈现给用户的意思是什么?即我想将其渲染为强烈文本 强调文本 ...
<p><strong>strong text</strong> </p> <p><em>emphasized text</em> </p> <blockquote> <p>this is a quote</p> </blockquote><p><img src="http://www.picturehouse.com/titles/images/rock.jpg" alt="alt text" title="" /> </p>
Run Code Online (Sandbox Code Playgroud)
使用<%= @post.body =>只会将其显示为上面显示的文本.
我想编写将输出的代码:
length [1,2,3] => 3
Run Code Online (Sandbox Code Playgroud)
在Ruby中,我可以这样做:
puts "length [1,2,3] => #{[1,2,3].length}"
Run Code Online (Sandbox Code Playgroud)
以下尝试是Haskell失败了......
Prelude Data.List> print "length [1,2,3]"
"length [1,2,3]"
Prelude Data.List> print (length [1,2,3])
3
Prelude Data.List> print "length [1,2,3]" (length [1,2,3])
<interactive>:1:0:
Couldn't match expected type `Int -> t'
against inferred type `IO ()'
In the expression: print "length [1,2,3]" (length [1, 2, 3])
In the definition of `it':
it = print "length [1,2,3]" (length [1, 2, 3])
Prelude Data.List>
Run Code Online (Sandbox Code Playgroud) 在弹出窗口中,selText确实具有值"great",但长度始终为undefined.与字符串编码有关的东西?
var selText = document.getSelection(); //suppose "great" is selected
alert( "selected ->" + selText + " len is " + selText.length);
Run Code Online (Sandbox Code Playgroud) nice说"nice()" 的手册页将inc添加到调用进程的nice值.那么,我们可以使用它来更改由创建的线程的nice值pthread_create吗?
编辑:我们似乎可以为每个线程设置好的值.
我写了一个应用程序,为不同的线程设置了不同的好的值,并观察到"更好"的线程已被安排在较低的优先级.检查输出,我发现字符串"高优先级................"更频繁地输出.
void * thread_function1(void *arg)
{
pid_t tid = syscall(SYS_gettid);
int ret = setpriority(PRIO_PROCESS, tid, -10);
printf("tid of high priority thread %d , %d\n",tid ,getpriority(PRIO_PROCESS,tid));
while(1){
printf("high priority ................\n");
}
}
void * thread_function(void *arg)
{
pid_t tid = syscall(SYS_gettid);
int ret = setpriority(PRIO_PROCESS, tid, 10);
printf("tid of low priority thread %d , %d \n",tid ,getpriority(PRIO_PROCESS,tid));
while(1)
{
printf("lower priority\n");
}
}
int main()
{
pthread_t id1;
pthread_t id2;
pid_t pid = …Run Code Online (Sandbox Code Playgroud) 我希望我能够返回一个虚拟基类的对象,这样我就不需要处理内存管理了(函数编程的想法也刺激了这种追求).这意味着我正在寻找以下内容:
class Car
{
public:
virtual int price() = 0 ;
virtual string brand() = 0 ;
}
class Interface
{
public:
virtual Car giveMeACar() = 0 ;
virtual vector<Car> listMeAllTheCars() = 0 ;
}
Run Code Online (Sandbox Code Playgroud)
但是,由于Car是一个抽象接口,因此甚至无法编译,并显示错误消息:
成员函数的抽象返回类型无效'
virtual Car giveMeACar() = 0; 因为下面的虚拟函数是"内的纯Car":int price()
string brand();
那么,这是否意味着我不得不修改界面类似下面和管理者的记忆我自己(使用后删除实例) -排除使用智能指针的选择.
class Interface
{
public:
virtual Car* giveMeACar() = 0 ;
virtual vector<Car*> listMeAllTheCars() = 0 ;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:这是我在设计的界面,每一个东西(类)是抽象的唯一选择?
返回接口类的对象在Java中是完全有效的.在这个方面,C++看起来似乎有点笨拙且反直觉.不仅如此,我觉得C++是"指向对象编程语言的指针"而不是"对象编程语言",因为没有指针就无法获得对象编程的太多好处.