问题列表 - 第1647页

交换字符串中的每对字符

我想获得字符串交换字符对的所有排列。例如:

基本字符串:abcd

组合:

  1. bacd
  2. acbd
  3. abdc

ETC。

编辑

我只想交换彼此相邻的字母。就像第一与第二,第二与第三,但第三与第六不同。

最好的方法是什么?

编辑

只是为了好玩:有三到四个解决方案,有人可以发布这些解决方案的速度测试,以便我们可以比较哪个是最快的?

速度测试

我对 nickf 的代码和我的代码进行了速度测试,结果是我的代码在 4 个字母处击败了 nickf(10K 次为 0.08 和 0.06),但 nickf 的代码在 10 个字母处击败了它(nick 的 0.24 和我的 0.37)

php string

5
推荐指数
1
解决办法
4913
查看次数

禁用Visual Studio验证看起来像xml的非xml文件?

我在Visual Studio 2008项目中有一堆Velocity模板文件,问题是尽管扩展名.vm不是.xml或类似,但Visual Studio认为它们包含的HTML必须符合XML命名标准并产生错误(不仅仅是每个编译都会发出警告.

如何告诉Visual Studio忽略这些"错误的"XML文件?我愿意转而对XML进行所有验证,但我也没有找到这样的选项.

更新,错误不会停止构建,他们只是淹没了大约20个验证错误背后的真正错误.我似乎记得在VS 2005中关闭验证的选项,但我在VS 2008中找不到任何此类选项.

我接受将##文件的开头添加为答案,即使它很难看,它也可以解决问题.谢谢你!

更新2我以为我在Marc之前尝试过你的答案,发现它没有被正确记住.但是现在我再次尝试它确实运行得很好,而且比为每个文件添加注释更清晰.重新奖励接受的答案.

visual-studio-2008

12
推荐指数
1
解决办法
3766
查看次数

检查串口是否正在侦听

我有一个Arduino通过串口发送和接收带有Python脚本的指令.

Arduino处于按钮状态,当它被按下时,它将通过串口发送消息到Python脚本并等待响应.(通过Serial.available()).它运作良好.

但是,如果Python脚本由于某种原因而崩溃(理想情况下它将在后台运行,因此无法轻松检查),Arduino将永远等待,即使脚本重新启动也将无法使用.

有没有办法让我的Arduino检查串口上是否有东西在监听?(如果不是,请用闪光灯等提醒我)或者这不是串口如何工作?最糟糕的情况我想我可以使用超时,虽然这不是理想的.

serial-port arduino

6
推荐指数
1
解决办法
9207
查看次数

为什么Class.newInstance()"邪恶"?

瑞安DELUCCHI这里的评论#3 汤姆Hawtin的回答是:

为什么Class.newInstance()"邪恶"?

这是为了响应代码示例:

// Avoid Class.newInstance, for it is evil.
Constructor<? extends Runnable> ctor = runClass.getConstructor();
Runnable doRun = ctor.newInstance();
Run Code Online (Sandbox Code Playgroud)

那么,为什么它是邪恶的?

java constructor runtime instantiation

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

使用c ++读取文本文件最优雅的方法是什么?

我想std::string用c ++ 读取文本文件的全部内容到一个对象.

使用Python,我可以写:

text = open("text.txt", "rt").read()
Run Code Online (Sandbox Code Playgroud)

它非常简单而优雅.我讨厌丑陋的东西,所以我想知道 - 用C++读取文本文件最优雅的方法是什么?谢谢.

c++ file-io text

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

如何处理长时间运行的系统的旧的,过时的数据库数据?

程序员处理很少使用但不能简单删除的数据的可能性有多大,因为至少报告仍需要它?

我想到的一些例子:

  • 折扣资助类型的大学老年
  • 未使用的货币(例如意大利里拉)
  • 失踪国家的名称(例如,奥匈帝国,苏联)

一些部分解决方案是活动标记,活动周期,可视化的优先级,但每个都意味着逐案决策,很难知道哪种类型的实体需要这种特殊处理.

可能是这个问题的设计模式.

结论:(根据目前的答案)

  • 如果旧数据使大型数据库的日常工作变得困难,那么分区将会很有帮助.Oracle对此主题的描述就在这里.

  • 从设计者的角度来看,缓慢变化维度的分类提供了一些背景信息.

database-design

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

如何使用"link_to"和"current_page?"测试RSpec a Rails插件

我正在编写一个Rails插件,可以在视图中构建菜单.我正在使用link_to构建链接并在当前页面上current_page?设置class="active".

includeð ActionView::Helpers::UrlHelper这样我就可以使用link_to.

为了current_page?在视图中工作,我必须继承当前的类(显然ActionView::Base)并且它非常有效.不幸的是,这完全打破了RSpec的测试.

我打电话link_tocurrent_page?这样的:

def menu(options = {}, &block)
  carte = my_menu.new(self)
  yield carte
  carte.to_s unless carte.empty?
end

class my_menu
  include ActionView::Helpers::TagHelper
  include ActionView::Helpers::UrlHelper

  def initialize(base)
    @base = base
  end

  def link
    @base.link_to(name, url_options, html_options)
    @base.current_page?(url_options)
  end
end
Run Code Online (Sandbox Code Playgroud)

我用RSpec得到了这个错误:未定义的方法`link_to'用于#<Spec :: Rails :: Example :: RailsExampleGroup :: Subclass_1:0x24afa90>

任何线索?

plugins rspec ruby-on-rails

4
推荐指数
1
解决办法
3911
查看次数

什么是处理程序

嗨,我正在尝试学习一些编程相关的术语,我经常来到单词处理程序.任何人都可以请求解释处理程序的含义以及何时使用该术语.

handler

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

将换行符插入预标记(IE,Javascript)

在IE中,当我将文本插入<pre>标记时,新行被忽略:

<pre id="putItHere"></pre>

<script>
function putText() {
   document.getElementById("putItHere").innerHTML = "first line\nsecond line";
}
</script>
Run Code Online (Sandbox Code Playgroud)

使用\r\n而不是普通\n不起作用.

<br/> 确实有效但在FF中插入了一个额外的空白行,这对我来说是不可接受的.

javascript internet-explorer pre

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

如何登录Oracle数据库?

我对Oracle数据库中常见的日志记录方法感兴趣.我们的方法如下:

我们为要记录的表创建一个日志表.日志表包含原始表的所有列以及一些特殊字段,包括时间戳,修改类型(插入,更新,删除),修饰符的id.原始表上的触发器为每个插入和删除创建一个日志行,为修改创建两行.日志行包含更改原始行之前和之后的数据.

虽然使用此方法可以及时挖掘记录的状态,但它有一些缺点:

  • 在原始表中引入新列不会自动涉及日志修改.
  • 日志修改会影响日志表和触发器,很容易搞砸.
  • 无法以直接的方式确定特定过去时间的记录状态.
  • ...

还有其他可能性吗?可以使用哪种工具来解决这个问题?

我只知道log4plsql.这个工具的优点/缺点是什么?

编辑:根据Brian的回答,我找到了以下参考资料,解释了标准和细粒度审核.

database oracle logging

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