其他成员已经提出/回答了这个问题,但我的情况有点不同......
问题:如何反转字符串中的单词?你可以使用strpos(),strlen(),substr()但不能使用其他非常有用的函数,比如explode(),strrev()等.
这基本上是一个面试问题所以我需要展示操纵字符串的能力.
例:
$ string ="我是个男孩"
回答:
"我是一个人"
以下是我的解决方案,花了我2天(叹气),但必须有更优雅的解决方案.我的代码看起来很长..
提前致谢!
我的本意:
1. get number of word
2. based on number of word count, grab each word and store into array
3. loop through array and output each word in reverse order
Run Code Online (Sandbox Code Playgroud)
码:
<?php
$str = "I am a boy";
echo reverse_word($str) . "\n";
function reverse_word($input) {
//first find how many words in the string based on whitespace
$num_ws = 0;
$p = 0;
while(strpos($input, " ", $p) !== false) …
Run Code Online (Sandbox Code Playgroud) 我为我的wpf datagrid(红色边框画笔)创建了一个新的DataGridCell样式.当我垂直向下滚动时,所选单元格消失,这是可以的.当我向上滚动时,我看到所选的单元格,但很少有人错过了它们的样式,它出现在错误的单元格中.
它看起来像数据网格记住选定的单元格,但"忘记"他们的风格.
任何的想法?
哈伊姆
在尝试实现上一个问题的第二个答案时,我收到了一个错误.
我已经像帖子所示实现了这些方法,前三个方法正常工作.第四个(HomeController_Delete_Action_Handler_Should_Redirect_If_Model_Successfully_Delete)给出了这个错误:在结果的Values集合中找不到名为'controller'的参数.
如果我将代码更改为:
actual
.AssertActionRedirect()
.ToAction("Index");
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我不喜欢那里的"魔术字符串",而更喜欢使用另一张海报使用的lambda方法.
我的控制器方法如下所示:
[HttpPost]
public ActionResult Delete(State model)
{
try
{
if( model == null )
{
return View( model );
}
_stateService.Delete( model );
return RedirectToAction("Index");
}
catch
{
return View( model );
}
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我一直在尝试验证标题中包含以下2行的html5文档:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<meta http-equiv="imagetoolbar" content="no" />
Run Code Online (Sandbox Code Playgroud)
整个文档非常好地验证,但这两行是IE特定的,使页面无效.
我的问题:这些元标签是否有合法的HTML5语法?我非常希望我的代码有效,但这些标签不能免除.
我知道冲突的可能性很小,但是如果我生成了一批1000个GUID(例如),那么可以安全地假设它们都是唯一保存测试的吗?
奖金问题
测试GUID唯一性的最佳方法是什么?布隆过滤器可能吗?
我有一个这样的类,我使用作为数组中的点:
class Point
{
public int x;
public int y;
public Point(int x, int y)
{
this.x = x;
this.y = y;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我试图获得最接近结束的值:
public void Position()
{
for (int x = 0; x < arr.Length; x++)
{
for (int y = 0; y < arr[x].Length; y++)
{
if (arr[x][y] == 3)
Pos.x = x;
Pos.y = y;
if (arr[x][y] == 1)
Pos.x = x;
Pos.y = y;
if (arr[x][y] == 2)
Pos.x = x;
Pos.y = y;
} …
Run Code Online (Sandbox Code Playgroud) 我以前从未做过Bison或Wisent.
我该如何开始?
我的真正目标是为C#生成一个有效的Wisent/Semantic语法,允许在带有代码完成的emacs中编辑C#,以及所有其他CEDET好东西.(对于那些不知道是谁,野牛之是一个与Emacs口齿不清端口GNU野牛,这是纳入CEDET. 野牛之显然是欧洲野牛.野牛,我把它,是一出戏,对词的派生YACC.而CEDET是Emacs开发工具的集合.所有人都赶上了?我不打算尝试定义emacs.)
Microsoft在语言参考文档中为C#提供了BNF语法,包括所有LINQ扩展.我能够将其转换为成功编译的.wy文件semantic-grammar-create-package
.
但编译后的语法并没有"起作用".在某些情况下,语法"查找" enum
声明,但不是class
声明.为什么?我不知道.我无法识别属性.我发现语法的"调试"并不容易.
我想我会退后一步,尝试为一种简单易懂的语言制作一个明智的语法,这种语言只有几个关键词.只是为了获得一些经验.即便如此,这也是一个挑战.
我已经看过关于语法fw的.info文档,并且很明智,但是......仍然有些东西并没有真正为我澄清,这些东西是如何真正起作用的.
所以
Q1:有关在emacs中调试明智语法的任何提示吗?有没有办法在语法上运行一个"类似lint"的东西来找出是否有未使用的规则,这样的死胡同?如何能够观察解析器的运行情况呢?有这样的吗?
Q2:关于加速野牛/一般情况的任何提示?我正在考虑的是一种工具,可以让我深入了解规则的运作方式.提供一些透明度的东西,而不是"我没有工作"的经验,我现在正在使用Wisent.
问题3:我应该放弃并成为一名有机农民,而不是继续打击这一点吗?
ps:我知道CEDET/semantic的contrib目录中现有的C#语法.这件事有效,但是......它不支持最新的C#规范,包括LINQ,部分类和方法,yield,匿名方法,对象初始化器等等.此外,它主要解析一堆C#代码.它嗅出了类和方法,然后挽救了.即使是foreach循环也没有做得很好.尽管它很好,但我希望看到它更好.我正在尝试做的是使它成为当前的,并且还扩展它以解析更多的C#代码.
我有一个工作的ServiceHost,只有一个NetTcpBinding和一个端点.
我.Close()
呢 然后,我创建一个新的ServiceHost实例,其配置与第一个完全相同.然后,当我尝试.Open()
新实例时,我遇到了这个非常尴尬的异常:
System.ArgumentException occurred
Message=Instance 'LobbyService@net.tcp:||localhost:2718|game|' already exists in CounterSet 'e829b6db-21ab-453b-83c9-d980ec708edd'.
Parameter name: InstanceName
Source=System.Core
ParamName=InstanceName
StackTrace:
at System.Diagnostics.PerformanceData.CounterSetInstance..ctor(CounterSet counterSetDefined, String instanceName)
Run Code Online (Sandbox Code Playgroud)
以前有人见过吗?它是.NET Framework中的一个错误(顺便说一句,我使用的是4.0)?
关于我的ServiceHost可能相关的信息:
IInstanceProvider
用于创建实例;ReliableSession
已打开;ServiceBehavior
以下内容;.
[ServiceBehavior(
IncludeExceptionDetailInFaults = true,
InstanceContextMode=InstanceContextMode.PerSession,
ConcurrencyMode=ConcurrencyMode.Reentrant,
UseSynchronizationContext = false
)]
Run Code Online (Sandbox Code Playgroud)
我愿意透露您可能想了解的有关该应用程序的任何额外信息.
更新1我编译了面向.NET 3.5的应用程序,但没有发生错误.不幸的是,我必须停用所依赖的所有东西Task
.
更新2我在Microsoft Connect上记录了有关此问题的错误.我想现在已经回答了这个问题.
有没有一种简单的方法可以将空表单输入转换为java中的空字符串?我正在使用spring mvc和SimpleJdbcInsert将对象插入MySQL数据库.我想在数据库中将空白输入设置为NULL而不是''.我有很多字段,我希望有一种方法可以做到这一点,而无需手动检查每个值.
谢谢!
编辑 - 所以我是个白痴.我的几个错误使我相信下面的正确答案是不正确的.我写了一个propertyEditorSupport,如下所示:
class StringEditor extends PropertyEditorSupport {
public void setAsText(String text) {
String value = text.trim();
if ("" == value) {
setValue(null);
} else {
setValue(value);
}
}
}
Run Code Online (Sandbox Code Playgroud)
两个问题 - 首先,没有getAsText,所以我的表单填充了"null"字符串!2,我的等式检查是C++,而不是java.当我尝试推荐的setter时,我只是重新加载了已经包含"null"字符串的帖子.一旦我清理了所有这些,一切都开始工作了.感谢您的帮助,对不起我的"操作员错误"!
布雷特
这是我的代码:
$("input[name=donationmode]").change(function() {
$(".setpaymentOptions").children().addClass("fadeout");
$(".setpaymentOptions").children().children(".inputfield").children("input").attr("disabled", "disabled");
$(".option-"+$(this).val()).removeClass("fadeout");
$(".option-"+$(this).val()).children(".inputfield").children("input").removeAttr("disabled");
if($(this).val() == 2)
{
$(".option-2").children(".inputfield").children("#paymentOption").find("input").removeAttr("disabled");
$(".option-2").find(".addPaymentOption").attr("onclick", "addPaymentOption()");
}
else
{
$(".option-2").children(".inputfield").children("#paymentOption").find("input").attr("disabled", "disabled");
$(".option-2").find(".addPaymentOption").removeAttr("onclick");
}
});
Run Code Online (Sandbox Code Playgroud)
当我将输入(它是3个单选按钮的单选按钮组)更改为2时,它会将onclick添加到.addPaymentOption.然后我将输入更改为3并且onclick消失.非常好.
现在是棘手的部分,当我点击带有值2时onclick不会回来.
请帮帮我,bug在哪里?
c# ×3
.net ×1
.net-4.0 ×1
asp.net-mvc ×1
attr ×1
attributes ×1
bison ×1
collision ×1
datagrid ×1
emacs ×1
form-submit ×1
guid ×1
html5 ×1
java ×1
javascript ×1
jquery ×1
math ×1
php ×1
probability ×1
rhino-mocks ×1
spring ×1
spring-mvc ×1
string ×1
unique ×1
unit-testing ×1
validation ×1
wcf ×1
wpf ×1
yacc ×1