我有以下代码(示例),我真的不喜欢这么多'if'检查:
public enum Flags
{
p1 = 0x01, // 0001
p2 = 0x02, // 0010
p3 = 0x04, // 0100
p4 = 0x08 // 1000
};
public static void MyMethod (Flags flag)
{
if ((flag & Flags.p1) == Flags.p1)
DoSomething();
if ((flag & Flags.p2) == Flags.p2)
DosomethingElse();
if ((flag & Flags.p3) == Flags.p3)
DosomethingElseAgain();
if ((flag & Flags.p4) == Flags.p4)
DosomethingElseAgainAndAgain();
}
MyMethod(Flags.p1 | Flags.p3);
Run Code Online (Sandbox Code Playgroud)
有没有办法,我可以使用'switch'语句.也许如果我将它们转换为字符串,或使用数组?
好的,所以我正在尝试创建一个文件夹,子文件夹及其文件的列表,但是现在它没有打印任何东西,似乎进入了一个无限循环.知道为什么吗?
//infinate loop start
for(int j = 0; j < (int) dirs[i].folders.size(); j++){
dirs.push_back(Directory(dirs[i].folders[j]));
getfiles(dirs[i].dir,dirs[i].files);
getfolders(dirs[i].dir,dirs[i].folders);
}
//infinate loop end
Run Code Online (Sandbox Code Playgroud)
这是完整的来源:
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <errno.h>
#include <vector>
#include <string>
#include <iostream>
using namespace std;
struct Directory{
public:
int indent;
vector<string> files;
vector<string> folders;
string dir;
Directory(string mydir){ dir = mydir;}
};
int getfolders (string dir, vector<string> &folders)
{
DIR *dp;
struct stat st;
struct dirent *dirp;
if((dp = opendir(dir.c_str())) == NULL) {
cout << "Error(" << …
Run Code Online (Sandbox Code Playgroud) 我想应用搜索并替换仅在文本文件的给定范围的行和列中起作用的正则表达式模式,如下所示:
AAABBBFFFFBBBAAABBB
AAABBBFFFFBBBAAABBB
GGGBBBFFFFBHHAAABBB
Run Code Online (Sandbox Code Playgroud)
例如,我想在行范围1到2和第4列到第6行中用YYY替换BBB,然后获得此输出:
AAAYYYFFFFBBBAAABBB
AAAYYYFFFFBBBAAABBB
GGGBBBFFFFBHHAAABBB
Run Code Online (Sandbox Code Playgroud)
有没有办法用Vim做到这一点?
我有一个矩阵可以说
x =
2 2 3
4 3 2
6 4 8
Run Code Online (Sandbox Code Playgroud)
现在我想得到一个数字4的位置.
我想ans
这样:
ans=(2,1) (3,2)
Run Code Online (Sandbox Code Playgroud)
因为这些是矩阵中4的位置.
我想知道如何实现使用PubSubHubbub在PHP site.I it.Can你解释我不明白?我不明白.发布者通知订阅者和订阅者 - 我的网站?
<?php
// simple example for the PHP pubsubhubbub Subscriber
// as defined at http://code.google.com/p/pubsubhubbub/
// written by Josh Fraser | joshfraser.com | josh@eventvue.com
// Released under Apache License 2.0
include("PuSHSubscriber.php");
$hub_url = "http://pubsubhubbub.appspot.com";
$callback_url = "url to my site?";
$feed = "feed link";
// create a new subscriber
$s = new Subscriber($hub_url, $callback_url);
// subscribe to a feed
$s->subscribe($feed);
// unsubscribe from a feed
//$s->unsubscribe($feed);
?>
Run Code Online (Sandbox Code Playgroud)
或者在$ hub_url上我应该发布我的中心?
我目前正在使用c#在visual studio 2010上构建多个网站.我留下的唯一错误(消息)或者img
对齐,div
对齐和<a name
属性...这被认为是过时的.建议使用较新的结构.
网站仍然有效,但由于我在学习过程中我想要0个错误/消息...我无法在网上找到任何新的构造取代这些的构造.
有人可以帮忙吗?
最近我看到了这段代码.这行不应该是编译错误吗?char arr[4]="Abc";
这里发生了什么?是arr指针吗?将char*复制到堆栈中的数组中?这在所有版本的C++中都是合法的(那么C呢?).我测试并看到这适用于VS和代码垫我相信使用gcc
-edit-为了好玩,我尝试用静态const char*替换"Abc".它给了我一个无效的初始化错误.
int main()
{
int j=97;
char arr[4]="Abc";
printf(arr,j);
getch();
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我正在使用SQLite,我需要执行以下操作:
SELECT * FROM fruit WHERE name<='banana'
Run Code Online (Sandbox Code Playgroud)
此语句应返回其"name"列包含在单词"banana"之前(或等于)字母顺序排列的文本的所有条目.所以它应该返回带有"apple"的行,而不是带有"pear"或"orange"的行.
似乎只是使用<=运算符不起作用,那么还有另一种方法吗?