我试图从cygwin中倾斜Bash脚本.当我在命令提示符下手动键入以下行时,一切正常,我看到屏幕上打印的数字从1到10.
for i in {1..10}; do
echo $i;
done
Run Code Online (Sandbox Code Playgroud)
但是,如果我将脚本保存到文件(test.sh)并运行"./test.sh",我会看到以下错误
./test.sh: line 1: syntax error near unexpected token `$'do\r''
'/test.sh: line 1: `for i in {1..10}; do
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎很奇怪.我想知道如何在命令行中运行相同的脚本,但不是从文件中运行.
谢谢,德里克
我知道C++标准明确保证了大小char,signed char和unsigned char.此外,它提供了保证,比方说,short至少是一样大的char,int大如short等,但有关的,比如说绝对值没有明确的保证,sizeof(int).这是我头脑中的信息,我和它幸福地生活在一起.然而,不久之前,我在SO中找到了一条评论(找不到它),在C long中保证至少有4个字节,而且这个要求是由C++"继承"的.是这样的吗?如果是这样,我们对C++中算术类型的大小有什么其他的隐含保证?请注意,我对这个问题中不同平台的实际保证完全不感兴趣,只是理论上的 那些.
使用WebForms视图引擎,我通常会使用三元运算符来处理非常简单的条件,特别是在HTML属性中.例如:
<a class="<%=User.Identity.IsAuthenticated ? "auth" : "anon" %>">My link here</a>
Run Code Online (Sandbox Code Playgroud)
上面的代码将为<a>标记提供一个类auth或anon取决于用户是否经过身份验证.
Razor视图引擎的等效语法是什么?因为Razor需要HTML标签来"知道"何时跳入和跳出代码和标记,所以我现在仍然坚持以下内容:
@if(User.Identity.IsAuthenticated) { <a class="auth">My link here</a> }
else { <a class="anon">My link here</a> }
Run Code Online (Sandbox Code Playgroud)
温和地说,这很可怕.
我很想做一些喜欢这一点,但我在努力了解如何在剃刀:
<a class="@=User.Identity.IsAuthenticated ? "auth" : "anon";">My link here</a>
Run Code Online (Sandbox Code Playgroud)
-
更新:
与此同时,我创建了这个HtmlHelper:
public static MvcHtmlString Conditional(this HtmlHelper html, Boolean condition, String ifTrue, String ifFalse)
{
return MvcHtmlString.Create(condition ? ifTrue : ifFalse);
}
Run Code Online (Sandbox Code Playgroud)
这可以从Razor这样调用:
<a class="@Html.Conditional(User.Identity.IsAuthenticated, "auth", "anon")">My link here</a>
Run Code Online (Sandbox Code Playgroud)
尽管如此,我希望有一种方法可以使用三元运算符而不会退回到扩展方法中.
我有UIButton,我设置三种状态的背景图像,正常,突出显示和禁用,所有状态都采用以下格式:
[button setBackgroundImage:buttonBGD forState:UIControlStateDisabled];
Run Code Online (Sandbox Code Playgroud)
我的问题是,当按钮被禁用时,iPhone选择为我减轻图像.这是不希望的.但如果我告诉它:
[button setAdjustsImageWhenDisabled:NO];
Run Code Online (Sandbox Code Playgroud)
然后图像根本不会改变.如何删除图像的自动闪亮,而只使用我创建的原始图像?
我正在尝试让PHPUnit在我的开发环境中运行,但是当我在脚本中包含PHPUnit时,我遇到了一些障碍.我知道我需要在PHP上设置include路径,但是我试过的每个组合都会失败,而编译器看不到PHPUnit_Framework_TestCase类.
我刚刚在PHP和PEAR上运行了更新,并且计算机上安装了PHPUnit,因为我可以通过命令行访问它.
PHPUnit安装在/ usr/share/php/PHPunit
梨在/ usr/share/php/PEAR
有什么我想念的吗?这是我第一次尝试使用PHPUnit甚至是PEAR的东西.我在Ubuntu 10.10上.任何帮助,将不胜感激.
编辑 - 我的PHP ini中的include路径中没有任何内容.现在代码就是这样
<?php
class Stacktest extends PHPUnit_Framework_TestCase
{
}
Run Code Online (Sandbox Code Playgroud)
我不知道要在include路径中包含什么或设置什么,因为对于关于PHPUnit的网络上的所有信息来说,这些一点点的信息都是严重缺失的.
我在C中做了一些需要使用字符串的东西(就像大多数程序一样).
查看联机帮助页,我发现,在字符串(3)处:
概要
Run Code Online (Sandbox Code Playgroud)#include <strings.h> char * index(const char *s, int c) (...) #include <string.h> char * strchr(const char *s, int c)
所以我好奇地看着strchr(3)和index(3)......
我发现两者都做到了以下几点:
strchr()/ index()函数定位s指向的字符串中第一次出现的c.终止空字符被认为是字符串的一部分; 因此,如果c为'\ 0',则函数定位终止'\ 0'.
因此,该联机帮助页基本上是一个复制和粘贴.
此外,我认为,由于一些混淆的必要性,第二个参数有类型int,但实际上是一个char.我想我没有错,但任何人都可以向我解释为什么它是一个int,而不是一个char?
如果它们都是相同的,哪一个在版本之间更兼容,如果不兼容,哪个区别?
可能的重复:
设计简单编程语言的方法
学习编写编译器
我想编写一种编程语言,其语法类似于QBasic,但更简单.我希望它适合初学程序员.它的简单性将鼓励有抱负的程序员不要放弃并让他们对编程感兴趣.例如:而不是QBasic的PRINT"Hello World!"
我会用
写下"Hello World!"
或者更像VB
写("Hello World")
我将如何调整基本语法来制作我的语言?
好的,这是一个艰难的.
简介:我的想法是连接我写了一个实例化的QueryBuilder类,到PropertyGrid中.QueryBuilder类现在包含几个字段,这些字段是硬编码的,如下例所示.因此,允许用户指定,哪些字段应该以何种方式(排序,分组等)的查询使用.在用户为这些属性指定了所有设置后(通过代码或通过PropertyGrid GUI),QueryBuilder能够生成查询.一切都很好.伪代码:
class QueryBuilder {
public QBField name {get; set;}
public QBField prename {get; set;}
public QBField zip {get; set;}
// ...
public void QueryBuilder() {
name = new QBField();
prename = new QBField();
// ...
}
public getQuery() {
// logic to build the query
}
}
class QBField {
public bool shown {get; set;}
public bool sortby {get; set;}
public bool groupby {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
挑战:现在不是硬编码的每个字段作为QueryBuilder的类公共属性,我不知道我怎么会用即List<string>包含所有我的领域"填充"具有这些属性我实例化QueryBuilder的.
所以这导致了三个问题:
难道这由QueryBuilder的类的类型莫名其妙压倒一切的GetProperties()来完成,如果是,它是如何做得最好?
然后我如何在运行时生成QBField属性并在实例化时迭代所有这些?想法:PropertyDescriptors和Activators?
如何迭代所有这些属性来读取每个QBField对象的值?我遇到的问题是,当用反射读取QBField的属性并尝试getValue(obj,null)时,当然需要的第一个参数是一个对象,我不知道,因为我有很多这些QBField对象.也许把我所有的QBField都放进去List<QBField>并迭代它?这会在这个例子中起作用吗?
我只是有点迷失,但我觉得我非常接近解决方案.因此,非常感谢任何帮助或只是指向正确的方向!
下午好,
我从几年前继承了一些C#代码.我已经重构了一点异步.评估我的更改对CPU性能的影响,我使用Process Explorer大致观察我的应用程序在做什么.令我惊讶的是,它似乎正在进行Process Explorer报告的I/O. 通常,这与磁盘I/O或网络I/O有关.根据我所看到的代码,我无法找出对这两个I/O源中的任何一个的显式调用.
我的问题是:确定哪一部分代码导致I/O的最佳方法是什么?我们使用JetBrains中的dotTrace来分析我们的应用程序,但是,据我所知,它只处理CPU和内存性能.
提前感谢任何指针.
问候,
埃里克.
在Management Studio中,我正在尝试运行查询/在两个链接的服务器之间进行连接.这是使用链接数据库服务器的正确语法:
select foo.id
from databaseserver1.db1.table1 foo,
databaseserver2.db1.table1 bar
where foo.name=bar.name
Run Code Online (Sandbox Code Playgroud)
基本上,您是否只将db服务器名称添加到db.table?
c ×2
c# ×2
bash ×1
c++ ×1
cygwin ×1
iphone ×1
pear ×1
php ×1
phpunit ×1
profiling ×1
properties ×1
propertygrid ×1
razor ×1
reflection ×1
sizeof ×1
sql-server ×1
string ×1
uibutton ×1
unit-testing ×1
windows ×1