编辑:对于我的班级,我必须使用scanf
.所以推荐其他输入方式不是我正在寻找的解决方案(如果有一个涉及scanf).
如果我正在读取小项目的用户输入(例如,游戏).让我们说我会问would you like to play?
这会接受yes
或no
回答.所以我写了一些像这样的简单代码:
#include <stdio.h>
int main(void)
{
char string[3]; //The max number of letters for "yes".
printf("Would you like to play?");
scanf("%s", string);
}
Run Code Online (Sandbox Code Playgroud)
所以这段代码应该简单地要求他们输入yes
或no
.我正在设定我char array
的大小3
.这样它足够大yes
,也可以no
.但是如果有人要输入无效的输入,比如yesss
,我知道如何比较字符串以后处理这样的事件,但是这不会在技术上/可能覆盖我声明的其他局部变量,因为它会扩展到我的数组长度之外?如果是这样,有没有办法处理这个限制3个输入字符或什么?如果没有,为什么/如何知道只输入3的大小?
*注意:我是C的新手,我找不到这个,所以即使这很简单,我也很感激.因为我显然缺少一些东西.我来自java背景,这甚至都不是问题.
我按照这个帖子:datepicker点击文本字段
我导入了以下两种协议:
@interface ViewController : UIViewController<UIActionSheetDelegate, UITextFieldDelegate> {
Run Code Online (Sandbox Code Playgroud)
然后,在实现中,我使用以下内容:
- (void)viewDidLoad {
textField.delegate = self;
[super viewDidLoad] }
Run Code Online (Sandbox Code Playgroud)
最后,我将实际代码显示日期选择器(来自线程).我也把它全部联系在IB中.
//Date Picker
- (void)textFieldDidBeginEditing:(UITextField *)aTextField{
[aTextField resignFirstResponder];
pickerViewPopup = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil];
UIDatePicker *pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 44, 0, 0)];
pickerView.datePickerMode = UIDatePickerModeDate;
pickerView.hidden = NO;
pickerView.date = [NSDate date];
UIToolbar *pickerToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
pickerToolbar.barStyle = UIBarStyleBlackOpaque;
[pickerToolbar sizeToFit];
NSMutableArray *barItems = [[NSMutableArray alloc] init];
UIBarButtonItem *flexSpace = [[UIBarButtonItem alloc] …
Run Code Online (Sandbox Code Playgroud) 我想知道在Lua中是否存在使用分号的一般惯例,如果是,我应该在哪里/为什么使用它们?我来自编程背景,因此用分号结束语句似乎直观正确.然而,我担心为什么它们"optional"
在其普遍接受的分号结束其他编程语言的语句时.也许有一些好处?
例如:从lua编程指南中,这些都是可接受的,等效的,语法准确的:
a = 1
b = a*2
a = 1;
b = a*2;
a = 1 ; b = a*2
a = 1 b = a*2 -- ugly, but valid
Run Code Online (Sandbox Code Playgroud)
作者还提到: Usually, I use semicolons only to separate two or more statements written in the same line, but this is just a convention.
这是否被Lua社区普遍接受,还是有其他方式被大多数人所青睐?或者它是否像我个人的偏好一样简单?
我对Linux的困惑man pages
了shmctl()
.我使用以下命令:shmctl (id , IPC_RMID , 0)
删除共享段.这man pages
似乎与记忆的生命周期相矛盾.
该手册页指出:
IPC_RMID
标记要销毁的细分.该段仅在最后一个进程分离之后才被实际销毁(即,当关联结构shmid_ds的shm_nattch成员为零时).呼叫者必须是所有者或创建者,或具有特权.如果段已被标记为销毁,则将设置IPC_STAT检索的关联数据结构中的shm_perm.mode字段的(非标准)SHM_DEST标志.
如果我是正确的,我相信这意味着如果你有两个附加到共享内存中的两个过程,(让我们称他们为Process1
和Process2
),Process1
可以创建共享内存,连接,分离,破坏了共享内存,并最终终止.然后内存仍然存在,直到Process2
分离.
它是否正确?
其次,这句话的man pages
意思是:
调用者必须确保段最终被销毁; 否则其故障的页面将保留在内存或交换中.
这似乎是Process1
因为它标记了要删除的段,因此需要阻塞直到所有其他进程都被分离,以确保删除内存.但这似乎与上述说法相矛盾.我也不知道如何做到这一点(如果应该这样做的话),所以如果是这样的话,你能解释一下我会怎么做.
我无法在任何地方找到这个,所以我只是要求确认.是的,我知道它是基本的,但我想在我犯错百万次之前我宁愿做到这一点:
如果我执行以下操作,默认情况下是否将"0"转换为NSNumber(如果不是,它是什么对象类型),还是我必须执行第二个代码?
(或者这两个对我正在尝试的事情都可能是错误的.如果是这样,请告诉我.他们都编译,所以我只是想知道哪一个是"正确"(或首选)以及为什么.)
代码1:
NSMutableArray array = [[[NSMutableArray alloc] init]];
[array addObject: 0];
Run Code Online (Sandbox Code Playgroud)
代码2:
NSMutableArray array = [[NSMutableArray alloc] init];
[array addObject: [NSNumber numberWithInt: 0]];
Run Code Online (Sandbox Code Playgroud) 我没有太多的数学背景,但我正在研究的项目的一部分需要单个向量的FFT.matlab函数fft(x)可以准确地满足我的需要,但在尝试设置Accelerate Framework fft函数后,我得到了完全不准确的结果.如果有人对Accelerate Framework fft有更多的专业知识/经验,我可以真正使用一些帮助来试图弄清楚我做错了什么.我根据我在谷歌上发现的一个例子来建立我的fft设置,但是没有教程或任何产生不同结果的东西.
EDIT1:到目前为止基于答案改变了一些东西.它似乎在进行计算,但它不会以任何接近matlab的方式输出它们
这是matlab的fft文档:http://www.mathworks.com/help/techdoc/ref/fft.html
**注意:例如,在两个示例中,x数组将是{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
Matlab代码:
x = fft(x)
Run Code Online (Sandbox Code Playgroud)
Matlab输出:
x =
1.0e+02 *
Columns 1 through 4
1.3600 -0.0800 + 0.4022i -0.0800 + 0.1931i -0.0800 + 0.1197i
Columns 5 through 8
-0.0800 + 0.0800i -0.0800 + 0.0535i -0.0800 + 0.0331i -0.0800 + 0.0159i
Columns 9 through 12
-0.0800 -0.0800 - 0.0159i -0.0800 - 0.0331i -0.0800 - 0.0535i
Columns 13 through 16
-0.0800 - 0.0800i -0.0800 - 0.1197i -0.0800 - 0.1931i -0.0800 - 0.4022i …
Run Code Online (Sandbox Code Playgroud) 我需要执行数组(向量)的自相关,但我找不到正确的方法.我相信我需要Accelerate Framework中的方法"vDSP_conv",但我无法按照如何成功设置它.最让我失望的是需要2个输入.也许我有错误的功能,但我找不到一个在单个矢量上运行的功能.
文档可以在这里找到
从网站复制
vDSP_conv
对两个向量执行相关或卷积; 单精度.
void vDSP_conv(const float __vDSP_signal [],vDSP_Stride __vDSP_signalStride,const float __vDSP_filter [],vDSP_Stride __vDSP_strideFilter,float __vDSP_result [],vDSP_Stride __vDSP_strideResult,vDSP_Length __vDSP_lenResult,vDSP_Length __vDSP_lenFilter);
参数
__vDSP_signal
Run Code Online (Sandbox Code Playgroud)Input vector A. The length of this vector must be at least __vDSP_lenResult + __vDSP_lenFilter - 1.
__vDSP_signalStride
Run Code Online (Sandbox Code Playgroud)The stride through __vDSP_signal.
__vDSP_filter
Run Code Online (Sandbox Code Playgroud)Input vector B.
__vDSP_strideFilter
Run Code Online (Sandbox Code Playgroud)The stride through __vDSP_filter.
__vDSP_result
Run Code Online (Sandbox Code Playgroud)Output vector C.
__vDSP_strideResult
Run Code Online (Sandbox Code Playgroud)The stride through __vDSP_result.
__vDSP_lenResult
Run Code Online (Sandbox Code Playgroud)The length of __vDSP_result.
__vDSP_lenFilter
Run Code Online (Sandbox Code Playgroud)The length of __vDSP_filter.
举个例子,假设你有一个数组float x = …
我已经阅读了很多关于这方面的问题但是它们似乎都没有实现我想要的......所以我可以说我有一个任意的UIWebView
内部UIViewController
.该UIViewController
有一个SwipeGestureRecognizer
工作正常.它甚至可以在UIWebView
- 没有滚动条的情况下工作.(在我加载页面之前,或者即使我加载的页面可以适合我的大小UIWebView
).但是,如果我加载需要向左或向右水平滚动的网页,那么在UIWebView
我的视图部分内部,我无法识别任何滑动手势.每次单击/拖动/滑动都会触发滚动操作.有没有办法区分"滑动"和只是用手指滚动(不是提起它而是拖动滚动).
我为此搜索了很多,但我似乎无法找到它.有没有办法Lua
通过双击它来执行脚本(执行它Lua (Command Line)
)并在执行后保持打开状态?
例如:
print("Hello World")
Run Code Online (Sandbox Code Playgroud)
此代码编译并运行,但如果我双击hello.lua
它运行并立即关闭而不会在屏幕上留下我的文本.我想要更像这样的东西,但无需去Command Prompt
,更改目录,打字lua file.lua
等等:
我有一个像这样的Xcode模板文件:
#import "___FILEBASENAME___.h"
@implementation ___FILEBASENAMEASIDENTIFIER___
@end
Run Code Online (Sandbox Code Playgroud)
这将创建一个示例文件,如下所示:
#import "ExampleFile.h"
@implementation ExampleFile
@end
Run Code Online (Sandbox Code Playgroud)
但是由于我们的构建系统有些复杂,我需要按文件路径导入文件.
例如,如果我ExampleFile.m
在Path/To/
文件夹内创建.然后我想要的输出是:
// Desired template output
#import "Path/To/ExampleFile.h"
Run Code Online (Sandbox Code Playgroud)
我尝试查看一些Apple示例模板,但似乎没有找到使其工作的方法.
我也在这里___DIRECTORY___
引用了它,但是当我试图使用它时它似乎对我没用.
有谁知道是否有办法实现这一目标?
iphone ×4
c ×3
lua ×2
objective-c ×2
arrays ×1
command-line ×1
conventions ×1
datepicker ×1
fft ×1
ios ×1
linux ×1
matlab ×1
nsnumber ×1
object ×1
protocols ×1
scanf ×1
string ×1
templates ×1
uitextfield ×1
uiwebview ×1
xcode ×1