免责声明:快速的菜鸟
嗨,我刚刚开始学习Swift并且正在学习Swift编程语言(在WWDC期间发布的Apple的书)并想知道'where'关键字是什么.它被用于
let vegetable = "red pepper"
switch vegetable {
case "celery":
let vegetableComment = "Add some raisins and make ants on a log."
case "cucumber", "watercress":
let vegetableComment = "That would make a good tea sandwich."
case let x where x.hasSuffix("pepper"):
let vegetableComment = "Is it a spicy \(x)?"
default:
let vegetableComment = "Everything tastes good in soup."
}
Run Code Online (Sandbox Code Playgroud)
摘录自:Apple Inc."The Swift Programming Language."iBooks.https://itun.es/us/jEUH0.l
如果有人能用另一种语言(java,c ++,obj-c等)解释和/或显示等效语言,那就太棒了.
如果已经有人问过这个道歉,我没有在任何地方看到它.
我需要将UIColor转换为具有颜色名称的NSString,即
[UIColor redColor];
Run Code Online (Sandbox Code Playgroud)
应该成为
@"RedColor"
Run Code Online (Sandbox Code Playgroud)
我已经尝试[UIColor redColor].CIColor.stringRepresentation
但它会导致编译器错误
大家好我正在学习如何在linux中使用.bashrc文件,因为我的标题声明我想知道如何使函数将参数识别为别名
我有一个名为home的别名定义为: alias home=$HOME
并且函数定义为
function go(){
cd $1
ls $1
}
Run Code Online (Sandbox Code Playgroud)
但是当我go home
得到的时候
bash: cd: home: No such file or directory
ls: cannot access home: No such file or directory
当我想要它去做$ HOME
我将如何实现这一目标?
我想知道为什么你可以修改一个const变量,如果它存储在一个寄存器中,虽然它可以在一些非常广泛使用的代码中看到,例如(来自http://www.opensource.apple.com/source/) Libc/Libc-167/gen.subproj/i386.subproj/strlen.c):
size_t
strlen(str)
const char *str;
{
register const char *s;
for (s = str; *s; ++s);
return(s - str);
}
Run Code Online (Sandbox Code Playgroud)
它在gcc和clang上编译时没有警告或错误.
是否有任何特殊原因你可以修改它,即使它是常量?
是否有任何其他允许修改我应该知道的const的情况(没有丑陋的转换专门用于修改const)?
有没有理由为什么这个例子选择将变量限定为const?