在一个文件中,我有一些变量存储如下:
author = {Some Author},
link = {some link},
text = { bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla},
...
Run Code Online (Sandbox Code Playgroud)
一些变量在多行上.
之后我需要将每个String条目吐入键和值,但这不是问题.我到目前为止:
\\S+\\s*[=][{]\\s*\\S*[},]
Run Code Online (Sandbox Code Playgroud)
对我来说工作正常的解决方案是:
(\w+)\s*=\s*\{(.*?)\}
Run Code Online (Sandbox Code Playgroud)
和
\\S+\\s*[=]\\s*[{].*[},]
Run Code Online (Sandbox Code Playgroud) 我想知道如何捕获任何凸起的对象(即一种不延伸的类型Exception),并且仍然可以获得它的引用.
我在使用Jython时遇到了这样做的愿望.在调用Java方法时,如果该方法引发异常,它将不会扩展Python的Exception类,因此像这样的块将无法捕获它:
try:
# some call to a java lib that raises an exception here
except Exception, e:
# will never be entered
Run Code Online (Sandbox Code Playgroud)
我可以这样做,但后来我无法访问引发的异常对象.
try:
# some call to a java lib that raises an exception here
except:
# will enter here, but there's no reference to the exception that was raised
Run Code Online (Sandbox Code Playgroud)
我可以通过导入Java异常类型并显式捕获它来解决这个问题,但这使得编写通用异常处理包装器/装饰器变得困难/不可能.
有没有办法捕获一些任意的异常,仍然在except块中得到它的引用?
我应该注意到,我希望我正在使用异常处理装饰器来使用Python项目,而不仅仅是Jython项目.我想避免导入,java.lang.Exception因为它只是使它成为Jython.例如,我想我可以做这样的事情(但我还没试过),但如果可以的话,我想避免它.
try:
# some function that may be running jython and may raise a java …Run Code Online (Sandbox Code Playgroud) 我有一个我正在建设的电子商务商店.我正在使用Rails/ActiveRecord,但实际上没有必要回答这个问题(但是,如果您熟悉这些内容,请随意回答Rails/AR).
商店的要求之一是它需要代表两种类型的产品:
我过去做过这种事,做了以下事情:
有没有更好的方法可以做到这一点?
使用PHP 5.3当应用于empty()通过__get()重载函数获取的动态对象属性时,我遇到了奇怪/非直观的行为.请考虑以下代码段:
<?php
class Test {
protected $_data= array(
'id'=> 23,
'name'=> 'my string'
);
function __get($k) {
return $this->_data[$k];
}
}
$test= new Test();
var_dump("Accessing directly:");
var_dump($test->name);
var_dump($test->id);
var_dump(empty($test->name));
var_dump(empty($test->id));
var_dump("Accessing after variable assignment:");
$name= $test->name;
$id= $test->id;
var_dump($name);
var_dump($id);
var_dump(empty($name));
var_dump(empty($id));
?>
Run Code Online (Sandbox Code Playgroud)
该功能的输出如下.比较empty()第一个和第二个结果集上的检查结果:
设置#1,意外结果:
string(19) "Accessing directly:"
string(9) "my string"
int(23)
bool(true)
bool(true)
Run Code Online (Sandbox Code Playgroud)
期望Set#1返回与Set#2相同:
string(36) "Accessing after variable assignment:"
string(9) "my string"
int(23)
bool(false)
bool(false)
Run Code Online (Sandbox Code Playgroud)
这真是令人费解和不直观.对象属性输出非空字符串,但empty()将它们视为空字符串.这里发生了什么?
我有一个视频片段持续时间列表,我需要加起来才能获得总持续时间.
这个系列是这样的:
...等等
我需要加上分钟和秒来获得总视频时长.
这是我接受的答案的修改功能:
function getTotalDuration ($durations) {
$total = 0;
foreach ($durations as $duration) {
$duration = explode(':',$duration);
$total += $duration[0] * 60;
$total += $duration[1];
}
$mins = floor($total / 60);
$secs = str_pad ( $total % 60, '2', '0', STR_PAD_LEFT);
return $mins.':'.$secs;
}
Run Code Online (Sandbox Code Playgroud)
只是确保输出看起来正确.
在Windows 7中,如果您通过控制面板 - 更改字体大小>外观和个性化 - >显示"使文本和其他项目更大或更小",它调整不仅菜单大小,但也喜欢的应用程序的文本内容大小记事本,写字板,Firefox.
有没有办法让Java自动缩放字体而不必手动缩放它?
我正在使用TextMate中的AFP挂载的Rails项目.每次TextMate成为活动窗口时,它都会旋转大约30s-1m,这非常令人沮丧.我在发生这种情况时对TextMate进行了采样,并发现多次调用+[NSFileAttributes _attributesAtPath:partialReturn:filterResourceFork:error:]是问题所在.有没有办法消除这些旋转?
我是唯一一个处理文件的人,所以我并不真正关心与文件更改的冲突(我不介意文件是否在本地缓存,直到我明确保存它们).
我发现你可以在php中用SOAP生成这个:
<foo bar="blah">12345</foo>
Run Code Online (Sandbox Code Playgroud)
有了这个:
array("foo" => array("_" => 12345, "bar" => "blah"));
Run Code Online (Sandbox Code Playgroud)
但是,当值不是数字和字符串,而是嵌入的xml代码时,下划线方法似乎不起作用.你会怎么做呢?
<foo bar="blah">
<aaa a="b">blah</aaa>
</foo>
Run Code Online (Sandbox Code Playgroud)
这是此人提问的延伸:http: //www.bigresource.com/Tracker/Track-php-uQwDoUib/
我曾与SvcUtil工具整天一直在努力,试图让它产生一些IMS企业服务有用的代码(主要是集团管理服务,但也有其他我们需要它的正常工作.)你可以找到IMS服务的WSDL在这里http://www.imsglobal.org/es/index.html.
我得出结论,SvcUtil是微软的一个无用的事后想法,它甚至不支持WSDL和XSD标准.它无法生成符合IMS使用和同时运行的标准WSDL协定的WCF服务.尽管从以下WSDL生成了可编译的代码(http://www.imsglobal.org/services/gms/wsdl/imsGroupManServiceSync_v1p0.wsdl),观察从WCF服务生成的WSDL(?WSDL,?WSDL = wsdl0,?XSD = xsd0等)表示没有操作的存在,并且只有在代码中生成的类型的一小部分是实际认可由WCF.如果我们使用生成的代码,我们可以获得某种功能(我们使用SoapUI进行测试),但它不再符合合同,因此对真正需要调用这些服务的人来说它是无用的.
有没有SvcUtil的替代品?(请不要建议使用内置的Visual Studio"添加服务引用"工具,这与使用与SvcUtil完全相同的代码一样无用.)我们需要能够让我们对代码生成方式进行一定程度控制的东西.从WSDL契约中,每个部分最终的文件,每个代码元素最终的名称空间等等.IMC合同导入特定于WSDL中定义的服务的XSD类型,以及所有共同的XSD类型. IMS服务.我们需要能够为这些类型生成不同的程序集,并在生成的代码中引用它们(类似于SvcUtil显然应该如何执行它...但它似乎没有按照它所说的文档所说的那样做根本.)
到目前为止,我一直是WCF的忠实粉丝.当你只使用.NET/WCF服务时,它显然有效,但是当你尝试在符合标准的跨平台环境中使用它时,一切都变得糟透了.
所以我将我的网站从Apache转移到Nginx,我遇到了这个场景的问题:
用户上传照片.此照片已调整大小,然后复制到S3.如果磁盘上有合适的空间(或者文件无法传输到S3),则保留本地版本.
我想要请求这些图像(例如http://www.mysite.com/p/1_1.jpg)首先查看p /目录.如果不存在本地文件,我想将请求代理到S3并呈现图像(但不是重定向).
在Apache中,我这样做:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^p/([0-9]+_[0-9]+\.jpg)$ http://my_bucket.s3.amazonaws.com/$1 [P,L]
Run Code Online (Sandbox Code Playgroud)
我试图在Nginx中复制这种行为是这样的:
location /p/ {
if (-e $request_filename) {
break;
}
proxy_pass http://my_bucket.s3.amazonaws.com/;
}
Run Code Online (Sandbox Code Playgroud)
会发生什么事情是每个请求都尝试命中Amazon S3,即使该文件存在于磁盘上(如果它在亚马逊上不存在,我也会收到错误.)如果我删除了proxy_pass行,那么磁盘DO上的文件请求就会起作用.
有想法该怎么解决这个吗?