我想写'两次'函数,它接受一个函数和一个参数并将该函数应用两次.但是它接收的函数应该对union类型起作用.
例如.
f a -> b
f b -> c
Run Code Online (Sandbox Code Playgroud)
产量
twice f a
c
f a
b
f b
c
f c
error
Run Code Online (Sandbox Code Playgroud)
例如.
f :: Int -> String
f :: String -> Char
twice f :: Int -> Cha
Run Code Online (Sandbox Code Playgroud)
我如何编写带有两种类型的f和执行传递性事物的"两次".
我想从字符串中删除尾部斜杠.例如,如果我有一个名为$ test ="test /"的字符串.我怎么能在最后删除斜线?
我正在将一个小型C++控制台游戏移植到C#,似乎我无法阻止按键被打印到控制台.
在C++中,我使用此方法获得击键,这也可以抑制击键被打印到控制台:
bool Game::getInput(char *c)
{
if (_kbhit())
{
*c = _getch();
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
我尝试通过以下方式在C#中执行等效操作:
Key = Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)
但这并不能抑制字符被打印到控制台,从而导致明显的问题.关于如何解决这个问题的任何想法?
我似乎无法弄清楚我的功能有什么问题....我需要询问用户的价格,然后将其作为双指针返回,但我得到了大量的错误:
double* getPrice()
{
double* price;
cout << "Enter Price of CD: " << endl;
cin >> &price;
return price;
}
Run Code Online (Sandbox Code Playgroud) 我想检测点击我的触控板的时间!
我通常使用USB鼠标,所以我不使用触摸板.相反,我希望能够在单击触摸板时在.NET中执行操作.通过这种方式,我可以将它用作快捷方式:轻轻一击即可.
这是可能的,如果是的话,任何线索如何?我更喜欢它是否可以在VB.NET或C#中工作.
我的理论是,我必须做一个鼠钩,然后以某种方式确定点击来自哪个设备.如果确定点击来自触摸板,则取消点击并执行任务().
谢谢!
*编辑* 嗯,它已经"解决了",有点像:)奇怪的是,Synaptics几天前发布了他们最新的触摸板驱动程序和软件以及一些新的功能.由于我的笔记本电脑有一个synaptics触摸板,我试用了该软件,有趣的是,内置了指定触控板上的点击以执行操作的功能.
所以已经实现了所需的功能,没有一行代码(我自己的代码:).
回答Adrian的链接到RawInputSharp库.我昨天做了修补,我90%肯定可以用于此目的,如果笔记本电脑没有synaptics触控板.
我一直在努力优化我的数字程序,并且遇到了一些神秘的问题.我循环执行数千个浮点运算的代码,其中1个调用pow
- 然而,该调用占用了5%的时间......这不一定是关键问题,但它很奇怪,所以我想要了解发生了什么.
当我查找缓存未命中时,VS.NET 2010RC的分析器报告几乎所有缓存未命中都发生在std::pow
......所以......那是什么?有更快的替代方案吗?我试过了powf
,但那只是稍快一点; 它仍然是异常缓存未命中数的原因.
为什么像pow这样的基本功能会导致缓存未命中?
编辑:这不是托管代码. /Oi
内在函数已启用,但编译器可以选择忽略它.更换pow(x,y)
由exp(y*log(x))
具有类似的性能-刚才所有的高速缓存未命中都在日志功能.
我使用DropBox而且我在从其他计算机访问我的文件时遇到了一些麻烦:当我在公共计算机上时,我并不总是想登录任何东西,但我喜欢能够从任何地方到达我的东西.
所以我做了一个简单的应用程序,当放入公共文件夹,运行并给出正确的UID时,创建(仍在您的公共文件夹中)文件夹中所有内容的HTML(包括子文件夹)作为链接树.
但我没有冒险将它加载到任何地方,因为那里有一些私人的东西(是的,我知道该文件夹的名称是"PUBLIC").
所以我想出了一个简单的登录页面的想法,给定正确的密码,页面的其余部分应该加载.太棒了!,但是怎么样?
如果我通过重定向到同一文件夹上的其他HTML来完成此操作,我仍然会将html链接放在网络历史记录和管理员的"网址访问"历史记录中.所以我应该在同一页面生成它.
我做到了:
alt text http://dl.dropbox.com/u/3045472/validate.png
目前该页面是一个文本框和一个按钮,只有当您键入正确的密码(在生成器中定义)时,页面的其余部分(带有链接树)才会加载.错误是通过源代码可以轻松访问所有内容(密码,URL).
现在,假设我只想避免愚蠢的人轻易搞定,不要制作一个防弹的全内容持有NSA认证的网站,我虽然有一些方法可以让这些信息更难获得.
正如您可能已经想到的那样,我使用一个流编写器来编写一个html文件(头部,循环链接,底部),然后它是非常可配置的,我可以想出一个非常混乱但工作正常的c#代码,尽管我的javascript知识不是那么好.
DropBox中的公共链接如下所示:
总结:如何在我的源代码中隐藏URL和ande密码以显示它们(当然主要是密码),这样就不需要花费一些精力进行阅读了?
PS:这不是个人的,如果有人真的想要它,它永远不会100%受到保护,如果它很重要,我不会把它放在公共文件夹中,如果这个家伙真的想要那么难,他应该得到它.
PS 2: "使用超3000'tron混淆器!11"不是一个真正的答案,因为我的javascript是由我的c#程序生成的.
PS 3.:我不希望其他解决方案"使用服务器端应用程序并将其托管在某个地方以重定向和bla bla"或"压缩.RAR文件中的链接并在其中输入密码"因为我这样做还要学习,我想要它的快感=)
更新1:
到目前为止,一个答案给出了一个完美的方法(根据这个问题)来隐藏我的密码.
现在我想要一个很好的方法来隐藏URL,maby是我给出的示例URL的代码片段,如果它太棘手了,maby如何用C#或其他东西生成它?
更新2: 我想过可能会制作三个"混淆方法"并在运行时中随机选择它们.因此,任何想出如何读取一个XML的人,只能阅读其中的三分之一,并且可能很难找到第三个的其他部分.
更新3:
只考虑REGEX,URL可能会被随机添加的虚拟not-url-allowed字符整齐地拥挤,这些字符会被以下内容删除:
regex.replace(url, ^[^\w\d/:-\.%]+$,"")
Run Code Online (Sandbox Code Playgroud)
是的,爱管闲事的家伙应该以某种方式进入编程,呃?谁能告诉我它是否有用?
我正在尝试做一些我认为很简单的事情.我需要创建一个WCF服务,我可以通过JQuery发布.我在我的WCF服务中有一个操作,定义如下:
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, RequestFormat=WebMessageFormat.Json, ResponseFormat=WebMessageFormat.Json)]
public string SendMessage(string message, int urgency)
{
try
{
// Do stuff
return "1"; // 1 represents success
}
catch (Exception)
{
return "0";
}
}
Run Code Online (Sandbox Code Playgroud)
然后我尝试通过JQuery从ASP.NET页面访问此操作.我访问此操作的JQuery代码如下所示:
function sendMessage(message) {
$.ajax({
url: "/resources/services/myService.svc/SendMessage",
type: "POST",
contentType: "application/json; charset=utf-8",
data: ({ message: message, urgency: '1' }),
dataType: "json",
success: function (data) {
alert("here!");
},
error: function (req, msg, obj) {
alert("error: " + req.responseText);
}
});
}
Run Code Online (Sandbox Code Playgroud)
当我执行此脚本时,错误处理程序将被触发.在其中,我收到一条错误消息:
"遇到意外的角色'c'."
此消息包含在长堆栈跟踪中.我的问题是,我做错了什么?我收到了其他帖子,比如这个(如何使用JSON发布复杂对象数组,jQuery发布到ASP.NET …
Session contains objects whose class definition isn\'t available.
Remember to require the classes for all objects kept in the session
Run Code Online (Sandbox Code Playgroud)
我正在尝试将http://github.com/binarylogic/authlogic集成 到我的rails应用程序中进行身份验证.我完成了文档中提到的所有步骤.现在,当我点击控制器时,我似乎得到了这个错误.看起来我错过了一些明显的东西.
堆栈跟踪
/Library/Ruby/Gems/1.8/gems/actionpack-2.3.5/lib/action_controller/session/abstract_store.rb:77:in `stale_session_check!'
/Library/Ruby/Gems/1.8/gems/actionpack-2.3.5/lib/action_controller/session/abstract_store.rb:61:in `load!'
/Library/Ruby/Gems/1.8/gems/actionpack-2.3.5/lib/action_controller/session/abstract_store.rb:28:in `[]'
/Library/Ruby/Gems/1.8/gems/authlogic-2.1.3/lib/authlogic/session/session.rb:48:in `session_credentials'
/Library/Ruby/Gems/1.8/gems/authlogic-2.1.3/lib/authlogic/session/session.rb:33:in `persist_by_session'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/callbacks.rb:178:in `send'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/callbacks.rb:178:in `evaluate_method'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/callbacks.rb:166:in `call'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/callbacks.rb:93:in `run'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/callbacks.rb:92:in `each'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/callbacks.rb:92:in `send'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/callbacks.rb:92:in `run'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/callbacks.rb:276:in `run_callbacks'
/Library/Ruby/Gems/1.8/gems/authlogic-2.1.3/lib/authlogic/session/callbacks.rb:79:in `persist'
/Library/Ruby/Gems/1.8/gems/authlogic-2.1.3/lib/authlogic/session/persistence.rb:55:in `persisting?'
/Library/Ruby/Gems/1.8/gems/authlogic-2.1.3/lib/authlogic/session/persistence.rb:39:in `find'
/Users/suryagaddipati/myprojects/groceryplanner/app/controllers/application_controller.rb:12:in `current_user_session'
/Users/suryagaddipati/myprojects/groceryplanner/app/controllers/application_controller.rb:17:in `current_user'
/Users/suryagaddipati/myprojects/groceryplanner/app/controllers/application_controller.rb:30:in `require_no_user'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/callbacks.rb:178:in `send'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/callbacks.rb:178:in `evaluate_method'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/callbacks.rb:166:in `call'
/Library/Ruby/Gems/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:225:in `call'
/Library/Ruby/Gems/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:629:in `run_before_filters'
/Library/Ruby/Gems/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:615:in `call_filters'
/Library/Ruby/Gems/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:610:in `perform_action_without_benchmark'
/Library/Ruby/Gems/1.8/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in …
Run Code Online (Sandbox Code Playgroud) Class A
{
A(B& b) : mb(b)
{
// I will not access anything from B here
}
B& mb;
};
Class B
{
B(): a(*this)
{}
A a;
}
Run Code Online (Sandbox Code Playgroud)
我可能遇到过这样的情况,包含的对象需要使用容器功能.在包含的对象中引用容器对象似乎是执行此操作的最佳方法.当然,我可以用一个指针来做这个,这样我可以有一个setter setB(B* b) {mb = b;}
,我可以在我确定B初始化后稍后调用但是我更喜欢用引用来做这个,这意味着我需要在它中初始化它构造函数,因此问题.