我正在学习Ruby,并且刚刚学习了一些关于数组和范围的东西.我碰到了一些关于切片的东西,虽然乍看起来很有意义但是当我深入研究它时会让我感到困惑.
IRB说这(2..-1).to_a
是一个空数组,意味着范围内没有值,对吧?
但如果我使用相同的范围[:a, :b, :c, :d, :e][2..-1]
,我会回来[:c, :d, :e]
而不是一个空数组.
现在,我知道-1表示数组的最后一个元素,所以选择的内容是有道理的.但是,如果范围本身是空的,它如何选择任何东西?
我只是想知道你知道哪些编辑器是"可编写脚本的".例如,使用Emacs,可以说你可以在编辑器中做任何事情:写作,阅读,编程.全部使用"脚本语言"Emacs-Lisp.您知道的其他编辑器是否可编写脚本?
你是否知道让我们说Perl,Ruby或任何其他类似C语言的脚本编辑器?
std::auto_ptr
不允许存储在STL容器中,例如std::vector
.但是,偶尔会出现需要返回多态对象集合的情况,因此我无法返回对象向量(由于切片问题).我可以使用std::tr1::shared_ptr
并坚持使用vector
,但是我必须付出高昂的代价来维护单独的引用计数,并且拥有实际内存(容器)的对象不再在逻辑上"拥有"对象,因为它们可以被复制出来它不考虑所有权.
C++ 0x以这种形式为这个问题提供了一个完美的解决方案std::vector<std::unique_ptr<t>>
,但是我无法访问C++ 0x.
其他一些说明:
boost::ptr_container
容器(即boost::ptr_vector
),但我想避免这种情况,因为它打破了调试器(内部存储在void *
s中,这意味着很难在调试器中查看实际存储在容器内的对象)我在Apache的重写指南中看到了如何将非www请求重定向到www请求的技巧:
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://www.example.com/$1 [L,R]
Run Code Online (Sandbox Code Playgroud)
其中将example.com的所有请求重定向到www.example.com.
但是我如何添加我想要来自example1.com,www.example1.com,example2.com,www.example2.com等的请求重定向到www.example.com?
编辑:
这是解决方案:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/?(.*) http://www.example.com/$1 [L,R,NE]
Run Code Online (Sandbox Code Playgroud)
略有不同的RewriteRule并添加了'RewriteEngine on'
我有一个运行一系列任务的Java库.我使用以下方法注册了默认的未捕获异常处理程序
Thread.setDefaultUncaughtExceptionHandler(new JavaUncaughtExceptionHandler());
UncaughtExceptionHandler实现UncaughtExceptionHandler
并仅记录错误信息STDERR
.
我的Java库是通过JNI从C++代码调用的,JNI正在调用它,ExceptionCheck()
并在C++中将错误记录为FATAL.
问题是:
在运行时,当RuntimeException
我的Java代码中发生(或任何其他未捕获的异常)时,错误是在C++中捕获的,而不是我JavaUncaughtExceptionHandler
注册为线程默认的未捕获异常处理程序.
DefaultUncaughtExceptionHandler
真正得到了叫什么?我知道在线程关闭之前,但具体在JNI情况下.是在返回C++之前还是在C++代码完成之后调用的.我认为这与JNI中的线程管理有关,请分享任何相关信息.try
/ catch
块之外的其他替代方法)非常感谢.
c++ java java-native-interface multithreading uncaughtexceptionhandler
我正在Java的套接字上实现一个面向事件的层,我想知道是否有办法确定是否有待读取的数据.
我的常规方法是从套接字读入缓冲区,并在缓冲区填充给定量的字节时调用提供的回调(如果每次到达时都需要触发回调,则可以为0),但是我怀疑Java已经在为我做缓冲了.
available()
InputStream 的方法对此可靠吗?我应该只read()
在插座上做自己的缓冲吗?或者还有另一种方式吗?
我有一个"绿色领域"项目,我将在星期一开始,它是一个内部网业务应用程序,想要做所有典型的工作,如工作流,警报.该模型使用EF完成,拥有50人公司预期拥有的所有核心实体以及业务特定会计程序模型 - 每个实体对应于员工命名法中的名词.
在过去的几个月里,我花了大量的业余时间学习sharepoint 2010,它肯定拥有这个项目想成为的一切设施(想想热情的企业主,他最近醒来了excel床单以外的生活可能性).我可能没有机会足够快地了解共享点曲线,这意味着从头开始编写它.
我需要处理的主要事项是: - 网格样式数据表单 - 基于活动目录的身份验证 - 电子邮件集成警报和事件驱动工作流程 - 类似于默认sharepoint 2010主题的专业外观
我知道如何使用网络表单.通过任何方式都不会轻而易举 - 提供商,.ASCX控件,验证器,主页,主题,皮肤,与项目特定的类库捆绑在一起,以支持跨领域问题.我脑子里有这个架构,它在其他项目上对我有用 - 我可以自己预测成功和时间表,这使我的压力水平可以控制.
也就是说,如果我至少没有尝试使用MVC,那么我会从"博客 - 球体"中得到明显的印象,我自己也会受到伤害.
我开始研究并找到了ASP.NET MVC 3的文档资源,而且,我只是不知道从哪里开始.
我本周末决定是否可以这样做,因为星期一我必须参加比赛计划.
如果,根据我的描述,有人可以推荐一个教程和/或一个干净的开源示例,我会非常感激.
我正在优化c ++代码.在一个关键步骤,我想实现以下功能y=f(x)
:
f(0)=1
f(1)=2
f(2)=3
f(3)=0
Run Code Online (Sandbox Code Playgroud)
哪一个更快?使用查找表或 i=(i+1)&3
或 i=(i+1)%4
?或者更好的建议?
所以我是java的新手,我正试图绕过这个.到目前为止,我正在编写一个调用私有方法的公共方法,这两个方法都写在同一个类中.在测试公共方法时,我能够针对对象employeeOne调用public方法,该对象的参数由用户提供.我不确定这里有私有方法调用,但是因为看起来我在类(我认为)上调用它而不是具有已定义属性的对象.
所以这是我在一个名为Employee的类中编写的私有方法:
private static double computeGrossPay()
{
if (hoursWorked <= 40)
{
grossPay = (hoursWorked * payRate);
}
else if (hoursWorked >= 40)
{
grossPay = ((40 * payRate) + ((1.5 * payRate) * (hoursWorked - 40)));
}
return grossPay;
}
Run Code Online (Sandbox Code Playgroud)
我试图想办法在另一个类中调用这个方法,显然因为它是一个私有方法,所以我不能在它编写的类之外的任何地方调用它.所以我写了一个调用的方法来调用私人方法
public double grossPayDisplay()
{
return Employee.computeGrossPay();
}
Run Code Online (Sandbox Code Playgroud)
这是我的问题发挥作用:到目前为止,此代码的工作,但我不是完全清楚为什么它的工作原理.
这是我测试它的方式:
System.out.println(employeeOne.grossPayDisplay());
Run Code Online (Sandbox Code Playgroud)
employeeOne是从Employee类创建的对象,其参数由用户提供,我的问题是:
编译器如何从Employee.computeGrossPay()中的Employee转到employeeOne?
或者重申如何做
return Employee.computeGrossPay()
Run Code Online (Sandbox Code Playgroud)
实际上将属性传递给computeGrossPay()?
java ×4
c++ ×3
apache ×1
arrays ×1
asp.net ×1
asp.net-mvc ×1
auto-ptr ×1
c++03 ×1
collections ×1
comparison ×1
editor ×1
enums ×1
events ×1
mod-rewrite ×1
networking ×1
range ×1
redirect ×1
ruby ×1
slice ×1
sockets ×1