我正在研究在我工作的(C/C++)项目中更改数百个文件的文件名.问题是我们的软件有成千上万的文件,包括(即#include)这些数百个将被改变的文件.这看起来像是一场维护噩梦.如果我这样做,我将被困在Ultra-Edit中数周,手动滚动数百个正则表达式:
^\#include.*["<\\/]stupid_name.*$
Run Code Online (Sandbox Code Playgroud)
同
#include <dir/new_name.h>
Run Code Online (Sandbox Code Playgroud)
这种苦差事要比用勺子在南极的沉没潜艇中剥掉数百个土豆更糟糕.我认为将输入和输出放入如下表格中是理想的:
stupid_name.h <-> <dir/new_name.h>
stupid_nameb.h <-> <dir/new_nameb.h>
stupid_namec.h <-> <dir/new_namec.h>
Run Code Online (Sandbox Code Playgroud)
并将其提供给正则表达式引擎/工具/ app /等...
我的终极问题:是否有工具可以做到这一点?
奖金问题:它是多线程的吗?
我在这个网站上查看了很多搜索和替换主题,并找到了许多标准查询,询问了以下问题的变体:
标准问题:替换N个文件中的一个术语.
而不是:
我的问题:替换N个文件中的N个术语.
提前感谢您的回复.
我正在asp.net上传一个xml文件.我想要做的是读取文件并将其转换为xmldoc并将其发送到一个webservice而不保存服务器中的xml文件.可能吗?如果是,任何人都可以帮助我使用代码.我到目前为止写的代码如下
HttpPostedFile myFile = filMyFile.PostedFile;
int nFileLen = myFile.ContentLength;
if (nFileLen > 0)
{
byte[] myData = new byte[nFileLen];
myFile.InputStream.Read(myData, 0, nFileLen);
}
Run Code Online (Sandbox Code Playgroud) 我可以这样读取a.txt文件:
text = open('a.txt', 'rb').read()
Run Code Online (Sandbox Code Playgroud)
但当我把a.txt到media文件夹中,这不起作用:
text = open('/media/a.txt', 'rb').read()
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
IOError at /
[Errno 13] file not accessible: '/media/a.txt'
Run Code Online (Sandbox Code Playgroud)
如何从media目录中读取文件?
我很难理解如何让Rails为渲染XML模板时验证失败的子资源显示明确的错误消息.假设我有以下几个类:
class School < ActiveRecord::Base
has_many :students
validates_associated :students
def self.add_student(bad_email)
s = Student.new(bad_email)
students << s
end
end
class Student < ActiveRecord::Base
belongs_to :school
validates_format_of :email,
:with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i,
:message => "You must supply a valid email"
end
Run Code Online (Sandbox Code Playgroud)
现在,在控制器中,假设我们想构建一个简单的API,允许我们在其中添加一个带有学生的新学校(再次,我说,这是一个可怕的例子,但为了问题的目的发挥作用)
class SchoolsController < ApplicationController
def create
@school = School.new
@school.add_student(params[:bad_email])
respond_to do |format|
if @school.save
# some code
else
format.xml { render :xml => @school.errors, :status => :unprocessable_entity }
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
现在验证工作正常,因为电子邮件与Student类中的validates_format_of方法中设置的正则表达不匹配而死亡.但是我得到的输出如下:
<?xml version="1.0" encoding="UTF-8"?>
<errors>
<error>Students is …Run Code Online (Sandbox Code Playgroud) 我有一个标准的UITableView + UISearchDisplayController + UITableViewIndex设置.一切都像冠军一样.
除非在非常特定的条件下,索引增长太长而无法在屏幕上显示.具体来说,在结束搜索并重新显示未过滤的索引表之后,索引有时会变得太长.
更具体地说,如果我搜索然后取消,则不会发生这种情况.只有当我搜索,然后从搜索表中推送视图控制器,然后将该视图控制器弹回到静止搜索表,然后取消搜索,然后重新搜索然后取消该最终搜索时,才会发生这种情况.在最终搜索结束后,索引太长.
在纵向中,表视图在正常条件下报告高度416并且索引高度为404.如果我searchDisplayControllerDidEndSearch在索引大小不正确时进行登录,则报告高度为620.
我已尝试从setLayout表和索引上的所有内容手动重新调整框架大小.没有任何作用(手动重新调整大小会导致记录正确的高度,但不会更改屏幕上的显示).
在取消动画干扰的情况下,我打算在延迟之后尝试重新调整大小,但后来我意识到我所处的荒谬局面并且想要寻求帮助可能是明智的......
我有以下TreeMap:
TreeMap<String, Integer> distances = new TreeMap<String, Integer>();
Run Code Online (Sandbox Code Playgroud)
它包含两个字符串,"Face"和"Foo",具有适当的值,这样:
System.out.println(distances);
Run Code Online (Sandbox Code Playgroud)
产量:
{Face=12, Foo=2}
Run Code Online (Sandbox Code Playgroud)
然而,distances.get(Face)返回null,即使distances.get(Foo)正确返回2.以前,distances.get(Face)工作,但由于某种原因,它停止工作.注意我打印出图右呼吁这两个键的get()之前,所以我不小心变脸的值设置为null.有没有人遇到过这个问题?有什么我能做的吗?我只是想弄清楚如何调试这个问题.
注意:在实际代码中,我实际上并没有使用字符串,而是使用不同的对象,所以它是:TreeMap<Object, Integer>.所以它不仅仅是变量名与文字字符串的混淆.
第二个音符:我也觉得非常有信心我的实现hashcode(),并equals()为我使用的对象.(另外,如果我的实现不正确,它不会从一开始就不起作用吗?而不是停止随机工作?)
我如何成为代表?我有一个名为CustomSign的类.该类有一个与之关联的视图.该视图有2个元素.一个文本域和一个uilabel.我想在单击完成按钮时将文本字段数据复制到uilabel.
这是我在CustomSign.m中的代码我不知道如何使它成为委托.
-(void)textFieldDidEndEditing:(UITextField *)textField {
[textField resignFirstResponder];
label.text = textField.text;
}
Run Code Online (Sandbox Code Playgroud) 我知道这可能是一个古老的问题,但更好的做法是什么?在应用程序的所有层中使用域模型对象,甚至在JSP上直接将值绑定到它们(我使用的是JSF).或者将域模型对象转换为DAO或服务层中的DTO,并将轻量级DTO发送到表示层.
我被告知使用DTO是没有意义的,因为对数据库的更改将导致所有DTO的更改,而在任何地方使用模型对象只需要更改受影响的模型对象.然而,DTO的易用性和轻量级特性似乎超过了这一点.
我应该注意我的应用程序使用Hibernate模型对象并使用自己的自定义创建的模型对象(意味着没有绑定到任何数据库会话,总是分离).以上任一方案对严格的模型对象模式更有利吗?对于像Lazy Initialization Exceptions这样的事情,使用Hibernate是一个巨大的PITA.
我正在编辑这个问题,希望能够进一步讨论(不确定我是否正确行事):
我对模型对象的问题在于它们根本不灵活.下面的评论说应该设计应用程序,以便可以在所有层中使用模型对象.为什么?如果用户想要一个荒谬的功能,我应该告诉他们,"好吧,这对模型对象不起作用"?
简单而简单,有时候模型对象不起作用.你可能有:
public class Teacher {
List<Student> students;
[tons of other Teacher-related fields]
}
public class Student {
double gpa;
[tons of other Student-related fields]
}
Run Code Online (Sandbox Code Playgroud)
但也许你不需要所有这些信息.您只需要教师的姓氏,他们今年教授的学生人数,以及所有学生的平均GPA.在那种情况下你会做什么?检索完整的教师信息和学生关系,然后您的代码计入学生列表,然后计算内部所有gpas的总平均值?这似乎比简单地使用'String lastName','int numStudents'和'double combinedGpa'创建DTO更加努力;
听起来好像我已经考虑到了这些,但我还没有在一个应用程序中工作,在这个应用程序中,模型对象可以在每个实例中完全使用.具有不同寻常的用户需求的常规实际应用程序不能以这种方式工作.
我正在尝试在 ubuntu 上以单声道编译此示例。
但是我得到了错误
wingsit@wingsit-laptop:~/MyFS/kitty$ fsc.exe -o kitty.exe kittyAst.fs kittyParser.fs kittyLexer.fs main.fs
Microsoft (R) F# 2.0 Compiler build 2.0.0.0
Copyright (c) Microsoft Corporation. All Rights Reserved.
/home/wingsit/MyFS/kitty/kittyAst.fs(1,1): error FS0222: Files in libraries or multiple-file applications must begin with a namespace or module declaration, e.g. 'namespace SomeNamespace.SubNamespace' or 'module SomeNamespace.SomeModule'
/home/wingsit/MyFS/kitty/kittyParser.fs(2,1): error FS0222: Files in libraries or multiple-file applications must begin with a namespace or module declaration, e.g. 'namespace SomeNamespace.SubNamespace' or 'module SomeNamespace.SomeModule'
/home/wingsit/MyFS/kitty/kittyLexer.fsl(2,1): error FS0222: Files in libraries …Run Code Online (Sandbox Code Playgroud)