小编pie*_*fou的帖子

在Ruby中使用File.open,open和IO.foreach,有什么区别?

所有以下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 file-io

53
推荐指数
1
解决办法
3万
查看次数

如何使用Ruby测试/单元执行单个测试?

而不是自动运行所有测试用例,有没有办法在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)

ruby testing unit-testing testunit

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

Android GUI架构 - Surface/view/window/canvas之间的关系

=========================

更新:经过几天的谷歌搜索和实验,我找到了大多数这些愚蠢问题的答案.查看我提交的答案.

=========

Android Window的责任是什么?

以下是一些问题:

  • 是否负责收集和发送输入?
  • 视图和窗口之间有什么关系?与DFB中的表面和窗口之间的关系相同?
  • 活动和窗口之间有什么关系?每个活动都有窗口吗?
  • 是否可以从应用程序创建一个窗口?什么时候有必要?
  • Android支持多窗口吗?

编辑:添加更多问题:

  1. 各种类的职责是什么,例如Window,View,Canvas,Surface以及它们如何相互协作?

  2. 通常一个Activity有多少个窗口?

3.一个活动中的所有视图都将附加到Window吗?附加是什么意思?

  1. 每个窗口都有表面?每个画布都有表面?

  2. View负责focus/keyEvent/manager,而Cavus只负责"绘图"操作.

  3. WindowManager负责Window堆叠?这与SurfaceFlinger有什么关系?

  4. View不拥有Surface,视图包含的Window拥有?

  5. 使用canvas通过调用surface.lockCanvas()得到View.

  6. 何时调用onDraw(Canvas)?如何以及谁传递画布参数?

  7. Canvas有尺寸吗?Window的表面总是全屏吗?

再次编辑:

看完Romain Guy http://www.youtube.com/watch?v=duefsFTJXzc&feature=feedwll&list=WL提供的精彩演示后,几个问题得到解决并添加了几个问题:)

  1. 每个Activity都有一个ViewRoot,因此有一个Window吗?
  2. 有没有必要明确地创建一个窗口?并且窗口的表面是否全屏?
  3. 状态栏是否会在另一个窗口中?
  4. 表面的大小是多少?这总是全屏吗?

android frameworks window view directfb

31
推荐指数
2
解决办法
7594
查看次数

Go中的切片类型有什么意义?

我已经读过这个,但仍然没有充分意识到slice反对的优势.array所以我期待有人在SO解释比它更好,我相信你可以:)

go slice

24
推荐指数
2
解决办法
3856
查看次数

为什么线程被认为是"邪恶的"?

我正在阅读SQLite FAQ,并发现了这段话:

线程是邪恶的.避免他们.

我不太明白"线程是邪恶的"这句话.如果这是真的,那么替代方案是什么?

我对线程的肤浅理解是:

  • 线程会发生并发.否则,CPU功率将被浪费,等待(例如)慢速I/O.
  • 但最糟糕的是,您必须同步逻辑以避免争用,并且必须保护共享资源.

注意:由于我不熟悉Windows上的线程,我希望讨论仅限于Linux/Unix线程.

unix multithreading thread-safety

23
推荐指数
6
解决办法
5499
查看次数

如何用原始html显示内容

@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 =>只会将其显示为上面显示的文本.

html ruby markdown ruby-on-rails

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

Haskell中的字符串插值

我想编写将输出的代码:

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)

string haskell

20
推荐指数
4
解决办法
7053
查看次数

为什么string.length返回undefined?

在弹出窗口中,selText确实具有值"great",但长度始终为undefined.与字符串编码有关的东西?

var selText = document.getSelection(); //suppose "great" is selected
alert( "selected ->" + selText + " len is " + selText.length);
Run Code Online (Sandbox Code Playgroud)

javascript

18
推荐指数
1
解决办法
3万
查看次数

是nice()用于更改线程优先级或进程优先级?

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)

linux pthreads scheduler nice

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

应该总是在界面设计中返回指向类的指针?

我希望我能够返回一个虚拟基类的对象,这样我就不需要处理内存管理了(函数编程的想法也刺激了这种追求).这意味着我正在寻找以下内容:

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++是"指向对象编程语言的指针"而不是"对象编程语言",因为没有指针就无法获得对象编程的太多好处.

c++ oop

15
推荐指数
1
解决办法
6955
查看次数