在Xcode中,如果我有一个NSString包含数字,即@"12345",我该如何将它分成表示组成部分的数组,即"1","2","3","4","5". ..有一个componentsSeparatedByString在上NSString对象,但在这种情况下,没有分隔符...
我有以下Windows批处理代码:
for %%i in (iidbms iigcc iigcd dmfacp dmfrcp rmcmd qwerty) do (
tasklist | findstr /i %%i
echo %errorlevel%
if %errorlevel% == 0 (echo %%i ok process found %errorlevel%)
if %errorlevel% == 1 (echo %%i no process found %errorlevel%)
)
Run Code Online (Sandbox Code Playgroud)
但它没有像我期望的那样起作用.
所有名称进程iidbms,iigcc,iigcd,dmfacp,dmfrcp,rmcmd都是真实的,并且找到了它们,而qwerty是一个发明的,不应该找到它,所以应该打印"no process found 1",但它不会,它总是打印0.
但我所注意到的是,如果我tasklist | findstr /i qwerty从dos提示符运行,就在有%errorlevel%= 1之后.
什么样的答案可能或更好?
我需要获取列名,主键,外键和其他架构信息.这DataTable堂课似乎包含了所有这些.
下面是我到目前为止的当前代码.有了它,我可以检索除外键之外的所有信息.我期待它们被定义,DataTable.Constraints但它们不是.这是我目前的代码:
private static DataTable LoadSchemaInfo(string tableName, SqlConnection connection)
{
string cmdText = "SELECT * FROM [" + tableName + "] WHERE 1 = 0";
// Create a SqlDataAdapter to get the results as DataTable
var sqlDataAdapter = new SqlDataAdapter(cmdText, connection);
// Create a new DataTable
var dataTable = new DataTable(tableName);
// Fill the DataTable with the result of the SQL statement
sqlDataAdapter.FillSchema(dataTable, SchemaType.Source);
return dataTable;
}
Run Code Online (Sandbox Code Playgroud)
知道如何检索所有信息或如何获取FK(最好不使用纯SQL语法,因为我会缺少一些编译时检查)?
我在我正在进行的项目中一直在做一些文件IO,到目前为止,我使用以下快速方便的方法读取整个数据块:
struct Header { ... };
class Data { ... };
// note that I have not used compiler directives to pack/align/order bytes
// partly because I don't know how to.
Header _header;
Data _data;
std::ifstream fin(filename);
fin.read((char*)&_header, sizeof(Header));
fin.read((char*)&_data, sizeof(Data));
fin.close();
Run Code Online (Sandbox Code Playgroud)
我的问题是,是否可以假设字节是对齐的,并为每个编译器和每个不同的计算机以相同的方式排序?
例如,如果我采用Header结构并在linux上编译客户端程序,在Windows上编译服务器程序.这些字节的顺序是否相同,以便接收和发送两种方式都没有问题?
让我们说有一个架构XYZ,它针对功能语言(如haskell)进行了优化.谁能告诉我这种架构的优点还有"功能"汇编语言?
提前致谢
我需要在Python中创建一个'容器'对象或类,它保存我也定义的其他对象的记录.该容器的一个要求是,如果认为两个对象相同,则移除一个(任一个).我的第一个想法是使用a set([])作为包含对象,来完成这个要求.
但是,该集不会删除两个相同对象实例中的一个.我必须定义什么来创建一个?
这是Python代码.
class Item(object):
def __init__(self, foo, bar):
self.foo = foo
self.bar = bar
def __repr__(self):
return "Item(%s, %s)" % (self.foo, self.bar)
def __eq__(self, other):
if isinstance(other, Item):
return ((self.foo == other.foo) and (self.bar == other.bar))
else:
return False
def __ne__(self, other):
return (not self.__eq__(other))
Run Code Online (Sandbox Code Playgroud)
翻译员
>>> set([Item(1,2), Item(1,2)])
set([Item(1, 2), Item(1, 2)])
Run Code Online (Sandbox Code Playgroud)
很明显__eq__(),被调用的x == y不是集合调用的方法.什么叫?我还必须定义什么其他方法?
注意:Items必须保持可变,并且可以更改,因此我无法提供__hash__()方法.如果这是唯一的方法,那么我将重写使用不可变的Items.
想象一下,我们有以下课程:
public interface MyInterface<T> {
List<T> getList(T t);
}
abstract class BaseClass<T extends Number> implements MyInterface<T> {
@Override
public List<T> getList(Number t) {
return null;
}
}
class ChildClass extends BaseClass<Integer> {
@Override
public List<Integer> getList(Integer t) {
return super.getList(t); //this doesn't compile
}
}
Run Code Online (Sandbox Code Playgroud)
getList在ChildClass不编译时,输出为:
abstract method getList(T) in com.mypackage.MyInterface cannot be accessed directly
Run Code Online (Sandbox Code Playgroud)
我无法BaseClass.getList理解为什么在ChildClass中没有覆盖方法.
但令我完全困惑的是使其编译的修复:
class ChildClass extends BaseClass<Integer> {
@Override
public List<Integer> getList(Integer t) {
return super.getList((Number) t); //Now it compiles!
} …Run Code Online (Sandbox Code Playgroud) 我有一个XML文件,其中一个名称的标签为@attributes
SimpleXMLElement Object
(
[@attributes] => Array
(
[PART_NUMBER] => ABC123
Run Code Online (Sandbox Code Playgroud)
我想引用这个对象,如$ product - > @ attributes ['part_number']但当然@符号会导致错误.
那么如何在对象中引用此项呢?
我拼命想弄清楚Arel,主要是因为我讨厌处理SQL; 我做得很好,但我撞墙了.
我一直在Rails 3.0.0中工作,我正在尝试使用一些数学进行复杂的查询.真实情况相当复杂,但我简化了一下.在我的例子中,我有一个带有特定字符串字段的表,我想要计算所有记录,以及该字段的两个可能值中的每一个的计数,按外部id分组.
在Rails 3.0.0下,我可以这样做(控制台命令):
t = Arel::Table.new(:some_thingies)
e = t .project(t[:foreign_id], t[:foreign_id].count.as('all_count')) .group(t[:foreign_id])
c = t.where(t[:some_field].eq('type1')).project(t[:foreign_id], t[:foreign_id].count.as('type1_count')).group(t[:foreign_id])
x = e
x = x.join(c).on(e[:foreign_id].eq(c[:foreign_id]))
Run Code Online (Sandbox Code Playgroud)
在这一点上,我可以做x.to_sql和...好吧,我不完全确定它是正确的,但结果看起来是正确的,除了两次foreign_id列.
SELECT
`some_thingies_external`.`foreign_id`,
`some_thingies_external`.`all_count`,
`some_thingies_external_2`.`foreign_id`,
`some_thingies_external_2`.`type1_count`
FROM
(SELECT
`some_thingies`.`foreign_id`, COUNT(`some_thingies`.`foreign_id`)
AS `type1+count`
FROM `some_thingies`
GROUP BY `some_thingies`.`foreign_id`) `some_thingies_external`
INNER JOIN
(SELECT `some_thingies`.`foreign_id`, COUNT(`some_thingies`.`foreign_id`)
AS `type1_count`
FROM `some_thingies`
WHERE `some_thingies`.`type` = 'type1'
GROUP BY `some_thingies`.`foreign_id`) `some_thingies_external_2`
ON `some_thingies_external`.`foreign_id` = `some_thingies_external_2`.`foreign_id`
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.但是,当我尝试加入第二组这样的计数时:
i = t.where(t[:some_field].eq('type2')).project(t[:foreign_id], t[:foreign_id].count.as('type2_count')).group(t[:foreign_id])
x = x.join(i).on(e[:foreign_id].eq(i[:foreign_id]))
Run Code Online (Sandbox Code Playgroud)
它只是挂断了,让我觉得我遇到了这个bug
(顺便说一句,我有更多的计数要加入,理想情况下'some_thingies'应该是一个arel对象,代表更多过滤我们正在计算的东西......但我离题了......)
所以,我决定尝试最新的边缘Arel和Rails,并相应地提升我的宝石:
gem 'rails', :git => …Run Code Online (Sandbox Code Playgroud) 在Chrome(+ Opera)中的任何对象上获取或设置属性"default"时,我收到错误"SyntaxError:Unexpected token default".
({}).default
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么会这样吗?
upd:每个人,PLZ,因为它对FF没有意义所以在测试时你可以错过这个bug.
arel ×1
assembly ×1
batch-file ×1
byte ×1
c# ×1
c++ ×1
comparison ×1
datatable ×1
errorlevel ×1
generics ×1
inheritance ×1
iphone ×1
java ×1
javascript ×1
methods ×1
nsstring ×1
object ×1
objective-c ×1
oop ×1
overriding ×1
php ×1
python ×1
reference ×1
schema ×1
set ×1
sql ×1
sql-server ×1
windows ×1
xcode ×1