我把这个字符串存储在一个变量中:
IN="bla@some.com;john@home.com"
Run Code Online (Sandbox Code Playgroud)
现在我想通过;
分隔符拆分字符串,以便我有:
ADDR1="bla@some.com"
ADDR2="john@home.com"
Run Code Online (Sandbox Code Playgroud)
我不一定需要ADDR1
和ADDR2
变量.如果它们是阵列的元素甚至更好.
根据以下答案的建议,我最终得到了以下内容,这就是我所追求的:
#!/usr/bin/env bash
IN="bla@some.com;john@home.com"
mails=$(echo $IN | tr ";" "\n")
for addr in $mails
do
echo "> [$addr]"
done
Run Code Online (Sandbox Code Playgroud)
输出:
> [bla@some.com]
> [john@home.com]
Run Code Online (Sandbox Code Playgroud)
有一个涉及设置Internal_field_separator(IFS)的解决方案;
.我不确定该答案发生了什么,你如何重置IFS
为默认值?
RE:IFS
解决方案,我试过这个并且它可以工作,我保持旧的IFS
然后恢复它:
IN="bla@some.com;john@home.com"
OIFS=$IFS
IFS=';'
mails2=$IN
for x in $mails2
do
echo "> [$x]"
done
IFS=$OIFS
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我试过的时候
mails2=($IN)
Run Code Online (Sandbox Code Playgroud)
我只是在循环打印时得到第一个字符串,没有括号围绕$IN
它工作.
我是一名工科学生,他大部分业余时间都在看电视而不是编码.所以基本上我对任何一种版本控制系统都没有经验.我的理解是以某种方式使项目分配更容易.
我正在研究Blueprint CSS Framework,喜欢它并从他们的Git项目页面下载.现在,我知道Git不仅仅是在他们的网站上提供链接.所以我的问题如下:
我查看了Git指南,但这主要是针对那些拥有比我更多经验的人.
感谢帮助 :)
我正在Vimscript中寻找一种优雅的方法来检查函数中当前目录中是否存在文件.
我想出了这个,但不确定这是否是最优雅的解决方案(我将设置vim选项,如果它存在) - 是否有任何方法不必再进行文件名的比较 - 可能使用不同的__CODE__
内置函数( ?):
:function! SomeCheck()
: if findfile("SpecificFile", ".") == "SpecificFile"
: echo "SpecificFile exists"
: endif
:endfunction
Run Code Online (Sandbox Code Playgroud) 我是iPhone编程的初学者,并希望在手机屏幕上绘制一条线,以便使用Quartz和UIKit进行学习.
我该如何开始绘画?
在Linux(内核2.6.5)上,我们的构建系统调用gcc -D_REENTRANT
.
使用时仍然需要这个pthreads
吗?
它与gcc -pthread
选项有什么关系?我知道我应该使用-pthread
pthreads,我还需要-D_REENTRANT
吗?
另外,你知道在gcc 3.3.3和gcc 4.xx之间使用REENTRANT之间有什么区别吗?
当我使用-pthread
gcc选项时,我可以看到它_REENTRANT
被定义了.-D_REENTRANT
从命令行省略会有什么不同,例如,某些对象可以在没有多线程支持的情况下编译,然后链接到使用pthreads的二进制文件并导致问题吗?
我认为应该可以使用: g++ -pthread
> echo | g++ -E -dM -c - > singlethreaded
> echo | g++ -pthread -E -dM -c - > multithreaded
> diff singlethreaded multithreaded
39a40
> #define _REENTRANT 1
Run Code Online (Sandbox Code Playgroud)
我们正在编译多个静态库和与静态库链接的应用程序,库和应用程序都使用pthread.
我相信它在过去的某个阶段是必需的,但想知道它是否仍然需要.谷歌搜索没有返回任何最近提到的信息 - D_REENTRANT
用pthreads
.你能指点我讨论在最近版本的kernel/gcc/pthread中使用的链接或引用吗?
澄清:目前我们正在使用-D_REENTRANT和-lpthread,我假设我可以用g ++ -pthread替换它们,看看man gcc它为预处理器和链接器设置了标志.有什么想法吗?
我有一个时间戳作为字符串,如:
星期四,2009年5月21日19:10:09 -0700
而且我想将它转换为像'20分钟前'或'3天前'的相对时间戳.
使用Objective-C为iPhone做到这一点的最佳方法是什么?
在AppDelegate中,我正在分配静态库中定义的实例.此实例的NSString属性设置为"copy".当我访问此实例上的字符串属性时,应用程序崩溃,"无法识别的选择器发送到实例".Xcode为属性提供代码提示,这意味着它在调用应用程序中是已知的.特定类被编译到静态库目标中.我错过了什么?
添加一些代码.
//static library
//ClassA.h
@interface ClassA : NSObject {
...
NSString *downloadUrl;
}
@property(nonatomic, copy) NSString *downloadUrl;
//ClassA.m
@synthesize downloadUrl;
Run Code Online (Sandbox Code Playgroud)
在调用应用程序的appDelegate中.
//app delegate header file
@interface myApp : NSObject <UIApplicationDelegate> {
ClassA *classA;
}
@property (nonatomic, retain) ClassA *classA;
//app delegate .m file
@synthesize classA;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
classA = [[ClassA alloc] init];
//exception occurs here. downloadUrl is of type NSCFNumber
classA.downloadUrl = @"http://www.abc.com/";
...}
Run Code Online (Sandbox Code Playgroud)
应用程序中的其他类将获得对委托的引用并调用classA.downloadUrl.
iphone cocoa-touch memory-management objective-c static-libraries
如何向NSString插入空格.
我需要在索引5处添加一个空格:
NString * dir = @"abcdefghijklmno";
Run Code Online (Sandbox Code Playgroud)
要获得此结果:
abcde fghijklmno
Run Code Online (Sandbox Code Playgroud)
有:
NSLOG (@"%@", dir);
Run Code Online (Sandbox Code Playgroud) 以下函数模板中第二个括号<>的原因是什么:
template<> void doh::operator()<>(int i)
Run Code Online (Sandbox Code Playgroud)
这出现在SO问题中,有人提出之后有一些括号丢失operator()
,但是我找不到解释.
如果它是表单的类型特化(完全特化),我理解其含义:
template< typename A > struct AA {};
template<> struct AA<int> {}; // hope this is correct, specialize for int
Run Code Online (Sandbox Code Playgroud)
但是对于功能模板:
template< typename A > void f( A );
template< typename A > void f( A* ); // overload of the above for pointers
template<> void f<int>(int); // full specialization for int
Run Code Online (Sandbox Code Playgroud)
这适合这种情况?:
template<> void doh::operator()<>(bool b) {}
Run Code Online (Sandbox Code Playgroud)
示例代码似乎有效并且没有给出任何警告/错误(使用gcc 3.3.3):
#include <iostream>
using namespace std;
struct doh
{
void operator()(bool …
Run Code Online (Sandbox Code Playgroud)