这是我遇到的一个古怪的问题(可能以前见过但从未注意过).
这是代码的要点:
my $url = 'http://twitter.com/' . $handle;
my $page = get($url);
if($page =~ m/Web<\/span>\s*<a href=\"(.+?)\"/gi) {
$website = $1;
}
if($page =~ m/follower_count\" class=\"stats_count numeric\">(.+?)\s*</g) {
$num_followers = $1;
}
Run Code Online (Sandbox Code Playgroud)
它获得了一个Twitter网址,并使用一些正则表达式来捕获关注者和用户的网站.这段代码实际上运行正常.但是当您在搜索关注者之后切换订单并搜索网站时,网站会显示空白.事实证明,当你正则表达一个字符串时,似乎有点保存最后一个匹配的位置.在html中,网站显示后会显示关注者数量.如果您首先执行跟随者计数正则表达式,就像它启动网站正则表达式,其中跟随者计数停止(如对字符串的索引引用).
令我感到困惑的是,我最后有"g"运算符,表示"全局",如"从全局搜索字符串......".
我在这里错过了什么吗?我似乎无法弄清楚为什么它恢复字符串上的最后一个正则表达式位置(如果这是有道理的).
有问题的网页如下所示:
// The Header //
/* */
/* CONTENT */
/* */
// The footer //
Run Code Online (Sandbox Code Playgroud)
页眉和页脚都有固定的高度.让我们说例如两者的高度都是20px.我需要将内容的高度设置为100%减去40px(页眉+页脚高度).我知道我可以使用JavaScript轻松完成这项工作,但如果有可能的话,学习如何使用纯CSS来实现它会很酷.
我有一个程序在窗口中显示具有固定帧速率(比如30 fps)的动画.
目前我使用SDL但不幸的是它缺乏桌面集成(如拖放),现在我想使用GTK.
所以我想做什么(假设窗口是双缓冲的):
1 obtain off-screen buffer
2 render my stuff to buffer
3 tell the toolkit to swap buffers
4 update window
5 repeat
Run Code Online (Sandbox Code Playgroud)
除了非常基本的GDK/GTK调用之外,我不想使用任何功能来创建和管理窗口并接收输入事件.
在FAQ中他们建议使用GdkRGB.但是,在GdkRGB的官方文档中,他们使用了gdk_draw_rgb_image()不推荐使用的功能,实际上大多数GdkRGB功能都是.
作为替代方案,他们建议使用OpenGL.问题是它需要一些不常见的库,如GtkGLArea,它不是GTK的一部分(我不想依赖任何默认安装的库).此外,在我的系统上,驱动程序的OpenGL支持是有限的.
我已经研究了Cairo(它是一些不赞成使用的功能的替代方案)但是这会为我相对简单的问题添加更多的样板代码(我怀疑需要额外的开销).
我正在使用hibernate + play!工作中的框架,是否有使用hibernate插入大量记录的"最佳实践"?它们每个文本文件大约有6,000到10,000个,因此我不知道Hibernate是否会在工作中窒息或抛出异常.
任何建议让我知道,如果我需要解释更多,请告诉我
我是iPhone dev和Object-C的菜鸟.不知道为什么我的'TableViewController'可能无法响应'-setNames:'任何帮助将不胜感激.
头文件
#import <UIKit/UIKit.h>
#import "FishViewController.h"
@interface FishTableViewController : UITableViewController {
NSArray* fishNames;
}
+ (FishTableViewController*) fishTableViewControllerWithFishNames:(NSArray*)fishSubCategory;
@property (nonatomic, retain) NSArray* fishNames;
@end
Run Code Online (Sandbox Code Playgroud)
实施文件.
#import "FishTableViewController.h"
#define FishTableViewControllerNibName @"FishTableViewController"
@implementation FishTableViewController
@synthesize fishNames;
+ (FishTableViewController*) fishTableViewControllerWithFishNames:(NSArray*)fishSubCategory {
// Warning occurs on the following line
FishTableViewController* retController = [[FishTableViewController alloc] initWithNibName:FishTableViewControllerNibName bundle:nil];
[retController setfishNames:fishSubCategory];
return [retController autorelease];
}
Run Code Online (Sandbox Code Playgroud)
调试控制台输出
2011-01-03 13:06:21.287 FishID[826:207] -[FishTableViewController setfishNames:]: unrecognized selector sent to instance 0x5d0d340 2011-01-03 13:06:21.289 FishID[826:207] *** Terminating app due to uncaught exception …
我正在尝试拖放'n',这是我的代码:
$('.box-title').live('mousedown click', function(e)
{
var self = $(this);
var Box = self.parent('#box');
if(e.type == 'mousedown')
{
$(window).mousemove(function(e)
{
Box.css({ cursor: 'move', top: e.pageY - 15, left: e.pageX - 125 });
});
}
else if(e.type == 'click')
{
Box.css({ cursor: 'default', top: e.pageY - 15, left: e.pageX - 125 });
}
});
Run Code Online (Sandbox Code Playgroud)
在mousedown上,它应该通过移动鼠标启动拖动效果,之后如果我想停靠/放下我想要它的盒子,我点击它应该禁用移动但如果我点击它,它不会停止移动 - 只是一直跟着我的鼠标.你怎么能阻止拖拽?
你好,
我是一个普通的视觉工作室程序员,我需要一个函数或例程来添加文本到图像的按钮而不是像我在图像中显示的那样

请的想法
[编辑]
我有一个自定义控件的WPF应用程序.自定义控件将自身呈现为位图,我可以使用以下代码来确定要使用的分辨率,以使位图与显示分辨率匹配.
PresentationSource ps = PresentationSource.FromVisual(this);
if (ps != null)
{
pixelsPerLogicalUnitX = ps.CompositionTarget.TransformToDevice.M11;
pixelsPerLogicalUnitY = ps.CompositionTarget.TransformToDevice.M22;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我通过PrintDialog将此控件发送到打印机时,PresentationSource为空,因此我不知道DPI.
有没有办法获得打印机的DPI(或PresentationSource)?
我想测试我的Cocoa应用程序正确处理基本多语言平面之外的输入,并且复制粘贴它是不可能的.我不知道如何键入BMP之外的角色!我已经设置日语作为输入源,并且能够通过键入日语单词来获得随机片假名或平假名,但该技巧对于2号平面字符不起作用.粘贴字符会解雇输入法编辑器,因此也不起作用.我想我实际上需要在我的美式英语键盘上输入正确的键击到某种语言的输入源(中文,大概是一个不错的选择).如果不明显,我不会说任何亚洲语言.
以下是第二个平面中某些字符的示例:http://www.unicode.org/cgi-bin/UnihanGrid.pl? codepoint = 20000
只要我能用我拥有或可以免费获得的字体渲染字形,我的目的就可以接受0xffff以上的任何unicode字符.
我找到了代码:
static void PrintMACaddress(unsigned char MACData[])
{
printf("MAC Address: %02X-%02X-%02X-%02X-%02X-%02X\n",
MACData[0], MACData[1], MACData[2], MACData[3], MACData[4], MACData[5]);
}
Run Code Online (Sandbox Code Playgroud)
此功能打印MAC地址 00-53-45-00-00-00
我的问题:
打印时如何制作这种格式std::stringstream?
更新:
谢谢大家的意见!
我不知道为什么,但有些解决方案没有static_cast<unsigned int>给我奇怪的字符,?-0?-0M-0?-0m-0?所以我选择了icecrime的boost版本:
void PrintMACaddressWithBoostFormat(unsigned char MACData[])
{
boost::format fmt("%02X-%02X-%02X-%02X-%02X-%02X");
for (int i = 0; i != 6; ++i)
{
fmt % static_cast<unsigned int>(MACData[i]);
}
std::stringstream valStream(fmt.str().c_str());
//testing
std::cout << "Boost version: " << valStream.str().c_str() << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
Palmik的解决方案也很棒;)
谢谢!