作为一个系统管理员,我最终每隔一段时间做一些简单的临时编程.我一直在努力学习,所以一般来说,下面的代码中是否有任何内容可以作为不良实践或其他不必要的内容跳出来?
具体来说,最后的3个if语句感觉就像我在不必要地复制代码一样.是否有任何方法可以进一步缩短它而不会过度复杂化?
<?php
define('TAKEN', 'Match: One');
define('AVAIL', 'Match: No Matches');
define('DATAMINE', 'Data mining count exceeded');
$ch = curl_init("http://co.za/cgi-bin/whois.sh?Domain=example");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$output = curl_exec($ch);
function search_whois($findit) {
global $output;
if (strpos($output, $findit) === false)
return false;
if (is_int(strpos($output, $findit)))
return true;
}
if (search_whois(TAKEN))
echo "Domain is taken.\n";
if (search_whois(AVAIL))
echo "Domain is available.\n";
if (search_whois(DATAMINE))
echo "Blocked for datamining, try again later.\n";
// var_dump($output);
?>
Run Code Online (Sandbox Code Playgroud) 我有一个Android应用程序有四个选项卡(我使用主TabActivity与TabHost和TabSpecs).在我的一个子活动(在选项卡中打开的活动)中,我需要打开选项卡而不是通过单击选项卡标题,我不知道如何执行此操作.例如,我的活动中有一个按钮,当我点击它时,它会打开一个不同的选项卡.目前,这就是我所做的:
然后在TabActivity中,如果我真实地阅读"ComeFrom"额外我打开了希望的标签,但问题是它会杀死所有其他活动.所以,如果有人知道更好(更清洁)的方法来做这个伎俩,请告诉我......
Intent intent = new Intent(myActivity.this, myTabActivity.class);
intent.putExtra("ComeFrom", true);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
如果我有这样的源文件:
<animal name="fred_monkey" />
<animal name="jim_banana" />
<animal name="joe_monkey" />
Run Code Online (Sandbox Code Playgroud)
我可以在样式表中执行XPATH表达式,只选择名称中带有字符串'_monkey'的动物吗?
例如,通配符'*_monkey'?
public ActionResult DoSomething(string[] arr, bool someBool, int someInt) { }
试图从jQuery调用上面的方法:
var test = [];
test.push('dog');
test.push('cat');
$container.load('MyController/DoSomething',
{ 'arr[]': test, 'someBool': true, 'someInt': 1 },
function(response, status, xhr) {
// ...
});
Run Code Online (Sandbox Code Playgroud)
数组参数为空,其他参数都很好.我究竟做错了什么?
Chrome开发人员工具会将提交的表单数据显示为
arr%5B%5D%5B%5D:dog
arr%5B%5D%5B%5D:cat
someBool:true
someInt:1
Run Code Online (Sandbox Code Playgroud)
不知道那里发生了什么,但看起来不对我
我的问题是关于如何模板化应该使用的类成员的名称.
也许是一个简化的伪示例:
/**
Does something with a specified member of every element in a List.
*/
template<membername MEMBER> // <-- How to define such thing?
void doSomething(std::vector<MyClass> all){
for( i=0; i < all.size(); i++)
all[i].MEMBER++; // e.g.; use all[i].MEMBER in same way
}
Run Code Online (Sandbox Code Playgroud)
和
class MyClass{
public:
int aaa, bbb, ccc;
}
Run Code Online (Sandbox Code Playgroud)
和申请:
main(){
vector<MyClass> all = ....
// applicate doSomething() to all aaa's
doSomething<aaa>(all); // or:
doSomething<MyClass::aaa>(all); // or:
doSomething<?????>(all);
}
Run Code Online (Sandbox Code Playgroud)
模板定义应该如何,我可以在doSomething(.)中切换访问/修改MyClass的哪个成员变量(aaa,bbb或ccc)?
在我的真实世界任务中,所有成员都是相同的类型,如上所述.
谢谢,Tebas
我有一个.net应用程序,它有一个WebRequest,它给POST添加了多次相同的密钥,从而使它成为PHP,Java Servlets等眼中的数组.我想把它重写为使用WebClient,但如果我多次使用相同的键调用WebClient的QueryString.Add(),它只是附加新值,使用逗号分隔的单个值而不是值数组.
我使用WebClient的UploadFile()发布我的请求,因为除了这些元数据,我还想发布一个文件.
如何使用WebClient发布值数组而不是单个值(逗号分隔值)?
干杯
聂
是否能够在Visual Studio.NET中编译VB 6代码?换句话说,它是否向后兼容较旧的VB代码?
由于我知道托管代码(.NET)和非托管代码之间存在差异,我想知道Visual Studio.NET是否能够编译非托管代码?
亲切的问候,克里斯
目标:查找文件中所有单词的计数.文件包含1000多个单词
我的方法:使用a HashMap<String,Integer>()来存储和计算每个单词出现在文件中的次数.
问题:一个HashMap()是最好的方法还是更好的方法是使用二叉树来确保更快的查找,因为文件中有大量的单词?
或者有更好的方法吗?
HashMap会导致大量内存开销,这是不希望的.
我使用Javascript创建了新行function addRow(id),但我无法删除它.当我单击删除按钮时,没有任何反应.我究竟做错了什么?我很感激任何建议.
<table>
<tr>
somethingElse
</tr>
<tr>
<td colspan="5">
<script type="text/javascript">
var inputCount = 0;
function addRow(id) {
//set row number
inputCount++;
var tbody = document.getElementById(id).getElementsByTagName("TBODY")[0];
var row = document.createElement("TR");
var td1 = document.createElement("TD");
var td2 = document.createElement("TD");
var td3 = document.createElement("TD");
var td4 = document.createElement("TD");
var td5 = document.createElement("TD");
var t1 = document.createElement('div');
var t2 = document.createElement('div');
var t3 = document.createElement('div');
var t4 = document.createElement('div');
var t5 = document.createElement('div');
t1.innerHTML = "Name of school: ";
t2.innerHTML = …Run Code Online (Sandbox Code Playgroud) 我在Delphi中做了很多项目,它使用不区分大小写的语言Pascal,我想知道区分大小写的语言的优点是什么.
杰森认为 "案例不敏感会带来很多歧义".我不同意.如果您意识到该语言不区分大小写,那么即使您从未编写过前者,您也知道这WHILE意味着同样的事情while.变量和函数也一样; 骆驼套管很好,但是第一个字母还是资本还是没有?那些名称以下划线开头的函数呢?如果不敏感的语言没有问题:_fooBar将做得很好_FooBar.那么贾森所指的模糊性在哪里呢?是的,你可以用不同的方式写一个变量,但意思是明确的!FooBar== foobar!
在同一个线程Delnan 说那Capitalization is the difference between "I had to help my uncle Jack off a horse.." and "I had to help my uncle jack off a horse..".非常聪明 :-).但是,与专业案例敏感相比,这是一个反对意见:您是否会因为单一的大写错误而接受您的代码变得混乱?同样,在不区分大小写的语言中,如果Jack是一个人,那么也是如此jack.
问题:是否有人在区分大小写的语言中使用此功能,您可以通过不同的大写来定义两个不同的变量或函数?因为这是我能看到的唯一优势.当然,你会说,我用驼峰套管写了变量名,而常量全是大写.但IMO他们是不相容的; userName作为一个变量是有道理的,但USERNAME作为一个常数不是.
(我意识到许多程序员使用区分大小写的语言,所以我准备迎接不受欢迎的接待:-))
编辑
此问题的触发器是Lynda.com的"Flash CS3 Professional中的ActionScript 3.0"培训视频,其中Todd Perkins花费了一半的时间来强调大写:-)
.net ×1
android ×1
arrays ×1
asp-classic ×1
asp.net-mvc ×1
c# ×1
c++ ×1
dynamic ×1
file-upload ×1
hashmap ×1
html ×1
html-table ×1
java ×1
javascript ×1
jquery ×1
load ×1
paramarray ×1
php ×1
string ×1
tabs ×1
templates ×1
vb.net ×1
vb6 ×1
webclient ×1
xml ×1
xslt ×1