我正在开发一个基于类似现有应用程序的新Rails应用程序.在我的旧应用程序中,我有优惠券类,这与我的新应用程序中的Ticket非常相似.我想重用Coupon中的所有代码,但使用新的类名.
由于重构在Rails中很麻烦,我想知道是否有办法为Ruby中的类创建别名(类似于属性和方法的别名).
我想根据同一个表中其他行的存在从SQL Server 2000/2005表变量中删除行(如果存在具有相同日期的非0计数行,则删除所有0个计数行).这是一个简单的示例,应该只删除首先添加的行:
declare @O table (
Month datetime,
ACount int NULL
)
insert into @O values ('2009-01-01', 0)
insert into @O values ('2009-01-01', 1)
insert into @O values ('2008-01-01', 1)
insert into @O values ('2007-01-01', 0)
delete from @O o1
where ACount = 0
and exists (select Month from @O o2 where o1.Month = o2.Month and o2.ACount > 0)
Run Code Online (Sandbox Code Playgroud)
问题是我无法让SQL服务器接受表变量的o1别名(我认为由于o1.Month = o2.Month匹配字段名称而需要别名).错误是:
Msg 102,Level 15,State 1,Line 11
'o1'附近的语法不正确.
由于我使用两个不同的通用集合名称空间(System.Collections.Generic和Iesi.Collections.Generic),我有冲突.在项目的其他部分,我使用的是nunit和mstest框架,但是当我打电话时Assert我想要使用nunit版本
using Assert = NUnit.Framework.Assert;
Run Code Online (Sandbox Code Playgroud)
哪个效果很好,但我想用泛型类型做同样的事情.但是,以下行不起作用
using ISet = System.Collections.Generic.ISet;
using ISet<> = System.Collections.Generic.ISet<>;
Run Code Online (Sandbox Code Playgroud)
有谁知道如何告诉.net如何使用泛型的using语句?
由于C#支持Int8,Int16,Int32和Int64,为什么语言的设计者选择定义int的别名,Int32而不是允许其根据是什么原生架构认为是一个变化的word?
我没有特别需要int表现出不同于它的方式,我只是要求纯粹的百科全书兴趣.
我认为,一个64位RISC架构可以想见,存在这将最有效地只支持64位的数量,并在其中的32位数量操作将需要额外的操作.在程序坚持使用32位整数的世界中,这样的架构将处于不利地位,这是另一种说C#成为未来语言的方式,这实际上阻止了硬件设计者提出这样的问题.未来的建筑.
StackOverflow不鼓励推测答案,所以请仅在您的信息来自可靠来源时回答.我注意到SO的一些成员是微软内部人士,所以我希望他们能够在这个问题上启发我们.
注1:我确实阅读了所有答案和SO的所有注释:假设int在C#中总是32位是否安全?但是没有找到关于我在这个问题上提出的原因的任何暗示.
注2:这个问题的可行性上也是如此(不了了之了)这里讨论:元:我能问一个"为什么他们做这种方式"类型的问题?
我正在尝试创建一个别名,将google chrome打开到localhost.在这种情况下,端口80.
我也非常希望能够进入任何git目录并让它在浏览器中打开该特定项目,但我不确定这是否可行.
更多细节:
谢谢
我正在尝试为我的模拟服务器设置别名。每当我尝试编译ts文件时,它都会返回找不到正确模块的错误,即使这些模块是在tsconfig,json->中定义的paths
文件夹结构:
??? server
? ??? src
? ???/json
??? src
? ???/modules
??? tsconfig.json
Run Code Online (Sandbox Code Playgroud)
这是我的 tsconfig.json
{
"compilerOptions": {
"baseUrl": "./src",
"experimentalDecorators": true,
"jsx": "react",
"lib": [
"dom",
"es2015",
"es2015.promise"
],
"module": "commonjs",
"moduleResolution": "node",
"noImplicitAny": true,
"noUnusedLocals": true,
"esModuleInterop": true,
"paths": {
"@project/app/modules/*": [
"modules/*"
],
"@project/server/data/*": [
"../server/src/json/*"
]
},
"sourceMap": true,
"target": "es5"
},
"exclude": [
"node_modules",
"tools"
]
}
Run Code Online (Sandbox Code Playgroud)
错误:
Error: Cannot find module '@project/server/data/accounts/accountsList'
我正在创建一个使用来自同一个表两次的数据的视图.结果,相同的列名称出现两次.
因此,我需要为这些列提供别名.如果我这样做,我会把它写成:
SELECT u.* as 'one_*', u2.* as 'two_*'
FROM users u
LEFT JOIN relationships r ON u.id=r.id_one
LEFT JOIN users u2 ON r.id_two=u2.id
Run Code Online (Sandbox Code Playgroud)
但这不起作用.谢谢你的帮助!
编辑:
这是我实际获得的数据:
| id | name | id | name |
1 john 2 alex
Run Code Online (Sandbox Code Playgroud)
这是我想要获得的数据(仍然使用a SELECT u.*, u2.*):
| id | name | brother_id | brother_name |
1 john 2 alex
Run Code Online (Sandbox Code Playgroud) 我知道如何在bash中配置别名,但有没有办法为一系列命令配置别名?
即我想要一个命令更改为特定目录,然后运行另一个命令.
另外,有没有办法设置运行"sudo mycommand"的命令,然后输入密码?在MS-DOS时代,我一直在寻找一个.bat文件但是我不确定linux(或者说在这种情况下是Mac OSX)的等价物.
我希望能够在类声明中使用命名空间别名,但是会出现编译器语法错误.
struct MyClass
{
namespace abc = a_big_namespace;
void fn() {
abc::test();
}
};
Run Code Online (Sandbox Code Playgroud)
我可以让它工作的唯一方法是将别名放在每个函数中.
void fn() {
namespace abc = a_big_namespace;
abc::test();
}
Run Code Online (Sandbox Code Playgroud)
另外,我希望能够使用函数参数的别名.我没有找到解决办法.
void fn(abc::testType tt) {
abc::test(tt);
}
Run Code Online (Sandbox Code Playgroud)
有办法做我想要的吗?
编辑:我的解决方案
我发现我的特定问题并不需要未命名的命名空间,只需这样做:
namespace myspace
{
namespace abc = a_big_namespace;
struct MyClass
{
void fn(abc::testType tt) {
abc::test(tt);
}
};
}
Run Code Online (Sandbox Code Playgroud)
要切换到另一个库,这是我的别名命名空间引用的,我只需更改别名.这种方法甚至允许我在一个文件中有两次相同的类,每次都引用一个不同的库.感谢你的帮助.