我有一个文本文件.我需要一个句子列表.
如何实施?有许多细微之处,例如在缩写中使用点.
我的旧正则表达式很糟糕.
re.compile('(\. |^|!|\?)([A-Z][^;?\.<>@\^&/\[\]]*(\.|!|\?) )',re.M)
Run Code Online (Sandbox Code Playgroud) 目标是实现一个Gallery,其适配器返回ListViews(换句话说,垂直滚动嵌入在水平滚动Gallery中的ListView).它经过一些工作后才有用,但是当试图水平滚动时,ListView看起来非常紧张,就像它有一定的粘性一样.我没有在Gallery中嵌入任何其他类型的View中观察到这种行为.
这是我尝试过的:
最初,我发现ListView压缩了触摸事件,因此Gallery上的手势监听器永远不会被触发.
所以在Activity的onCreate()方法中,我创建了一个GestureDetector:
galleryGestureDetector = new GestureDetector(this, gallery);
然后,在Gallery适配器的getView()方法内部,在ListView被充气和配置之后,我有一些代码如下:
listView.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
galleryGestureDetector.onTouchEvent(event);
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我甚至走到了从OnTouchListener返回true的极端步骤,以确保从未实际调用listView的onTouchEvent()方法.发生同样的紧张行为.因此,我认为我可以排除在两个视图之间竞争onTouchEvent()实现.
我试图通过扩展Gallery的触摸矩形以包含ListView然后强制ListView委托给它来滥用TouchDelegate概念,但这也是徒劳的.
我会举手说当前不可能,但与DroidX打包的社交网络应用程序以某种方式实现了它!
我正在尝试在rails中使用paperclip,当我正在进行"bundle install"时,我收到以下错误:
无法安装RMagick 2.13.1.在/ usr/local/mysql/bin中找不到Magick-config:/ usr/local/bin:/ usr/local/sbin:/ usr/bin:/ bin:/ usr/sbin:/ sbin:/ usr/local/bin目录:在/ usr /本地/ git的/ bin中:在/ usr/X11/bin中:/Users/seanhinton/.rvm/bin
我想知道的是如何在我的机器上安装RMagick(我需要的是什么?)(它是OSX 10.6)?
干杯!
假设我a在Python中有一个列表,其条目可以方便地映射到字典.每个偶数元素代表字典的键,以下奇数元素是值
例如,
a = ['hello','world','1','2']
Run Code Online (Sandbox Code Playgroud)
我想把它转换成字典b,在那里
b['hello'] = 'world'
b['1'] = '2'
Run Code Online (Sandbox Code Playgroud)
什么是语法上最干净的方法来实现这一目标?
我想用C++打印大量的调试日志打印.是否有一个内置的库,允许我打开/关闭这些打印,而不像我今天那样评论它们(即让用户使用-print_log/ -debugflag)?
编辑:欢迎第三方记录器.
请提供一个如何执行此操作的简短示例.
我有一个小脚本,可以检测用户是否使用某个浏览器
var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
if(is_chrome){
$('.ifChrome').attr('style', 'display:block;');
$('.ifChrome').html($('noscript > div').html());
};
Run Code Online (Sandbox Code Playgroud)
如果他们使用此浏览器,我们希望显示div标签并显示内部不同div标签的HTML.
<noscript>
<div class="note">
Your browser does not properly support the WMD Markdown Editor.<br />
Please use <a href="/about/markdown" target="_blank">Markdown<.a> to style your input.
</div>
</noscript>
<div class="hidden ifChrome note"></div>
Run Code Online (Sandbox Code Playgroud)
我正在尝试做的是在我的<noscript>标签内向使用此浏览器的用户显示"不支持"文本(因为WMD Markdown无法正常使用它).
我现有的Javascript无效.任何帮助将不胜感激.
我有一个文件中的项目列表,
foobar
barfoo
bar
faaboo
foo
boofar
fo
b
Run Code Online (Sandbox Code Playgroud)
使用perl,我只是在脚本之后将通过文件名并删除3个字符或更少的所有项目.覆盖现有文件名(不创建新的或临时文件名),因此列表将成为.
foobar
barfoo
faaboo
boofar
Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的第一个"真正的"应用程序中使用backbone.js,我需要一些帮助来调试为什么某些模型更改事件没有像我期望的那样触发.
如果我从服务器创建一个JSON 数组的集合,然后按设定的时间间隔获取()它,如果集合中的单个模型发生了变化,我不会收到通知.主干文档建议应生成此类通知.我似乎得到的只是每次获取的刷新通知,这是没用的.OTOH,如果我从服务器的JSON 对象创建模型,然后按设定的时间间隔获取()模型,我会在属性更改时收到更改通知.有任何想法吗?
细节
/ employees/{username}/tasks中的我的Web服务返回一个JSON任务对象数组,每个任务对象都嵌套一个子任务对象的JSON数组.例如,
[{
"id":45002,
"name":"Open Dining Room",
"subtasks":[
{"id":1,"status":"YELLOW","name":"Clean all tables"},
{"id":2,"status":"RED","name":"Clean main floor"},
{"id":3,"status":"RED","name":"Stock condiments"},
{"id":4,"status":"YELLOW","name":"Check / replenish trays"}
]
},{
"id":47003,
"name":"Open Registers",
"subtasks":[
{"id":1,"status":"YELLOW","name":"Turn on all terminals"},
{"id":2,"status":"YELLOW","name":"Balance out cash trays"},
{"id":3,"status":"YELLOW","name":"Check in promo codes"},
{"id":4,"status":"YELLOW","name":"Check register promo placards"}
]
}]
Run Code Online (Sandbox Code Playgroud)
另一个Web服务允许我更改特定任务中特定子任务的状态,如下所示:/ tasks/45002/subtasks/1/status/red [旁边 - 我打算将其更改为基于HTTP的HTTP服务,但目前的实现更容易调试]
我的JS应用程序中有以下类:
子任务模型和子任务集合
var Subtask = Backbone.Model.extend({});
var SubtaskCollection = Backbone.Collection.extend({
model: Subtask
});
Run Code Online (Sandbox Code Playgroud)
具有子任务集合的嵌套实例的任务模型
var Task = Backbone.Model.extend({
initialize: function() {
// each Task …Run Code Online (Sandbox Code Playgroud) 有没有办法知道当前的foreach运行,而不必:
Int32 i;
foreach
i++;
Run Code Online (Sandbox Code Playgroud)
或者这是我得到的最佳选择?另外,我怎么知道该循环中的最大项目数?我想要做的是在表单上的foreach循环期间更新进度条.
这是我到目前为止:
FileInfo[] directoryFiles = (new DirectoryInfo(folderBrowserDialog.SelectedPath)).GetFiles("*.*");
foreach (FileInfo file in directoryFiles)
{
if ((file.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden || (file.Attributes & FileAttributes.System) == FileAttributes.System)
continue;
backgroundWorkerLoadDir.ReportProgress(i, file.Name);
System.Threading.Thread.Sleep(10);
}
Run Code Online (Sandbox Code Playgroud)
所以它应该如下,对吧?
for (Int32 i = 0; i < DirectoryFiles.Length; i++)
{
if ((DirectoryFiles[i].Attributes & FileAttributes.Hidden) == FileAttributes.Hidden || (DirectoryFiles[i].Attributes & FileAttributes.System) == FileAttributes.System)
continue;
backgroundWorkerLoadDir.ReportProgress((i / DirectoryFiles.Length) * 100, DirectoryFiles[i].Name);
System.Threading.Thread.Sleep(10);
}
Run Code Online (Sandbox Code Playgroud)