对于学校,我们使用C++作为首选语言.我目前正在使用QtCreator作为IDE,对于它的GUI库,它非常棒.学校正在使用Visual Studio.
但是,我们编写的大多数程序都使用cin和cout进行输入/输出.cout可以正常输出,因为你可以看到它在应用程序输出中输出的内容,但是没有办法提供给cin,好像它在控制台上,就像Visual Studio用于它的C++一样.
一个例子:
#include <iostream>
#include <string>
using namespace std;
int main() {
string name;
cout << "Enter name: ";
cin >> name;
cout << "Your name is " << name << endl;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在Visual Studio中使用控制台或提供cin输入?
我目前正在运行OS X Leopard,如果重要的话.
我是ruby的新手,目前正尝试与ruby中的基本字符串分别对每个字符进行操作.我正在使用ruby 1.8.6并想做类似的事情:
"ABCDEFG".each_char do |i|
puts i
end
Run Code Online (Sandbox Code Playgroud)
这会产生一个未定义的方法`each_char'错误.
我期待看到垂直输出:
A
B
C
D
..etc
Run Code Online (Sandbox Code Playgroud)
该each_char方法仅定义为1.9吗?我尝试使用普通each方法,但块只是将整个字符串输出到一行.我想办法如何做到这一点的唯一方法就是从头开始创建一个字符数组:
['A','B','C','D','...'].each do|i|
puts i
end
Run Code Online (Sandbox Code Playgroud)
这输出所需的:
A
B
C
..etc
Run Code Online (Sandbox Code Playgroud)
是否有一种方法可以使用未修改的字符串开始实现此输出?
我认为Java等价物是:
for (int i = 0; i < aString.length(); i++){
char currentChar = aString.charAt(i);
System.out.println(currentChar);
}
Run Code Online (Sandbox Code Playgroud) 我很困惑为什么我的应用程序崩溃了这个错误.
我已经实现了displayLayer方法(用于渲染CALayer).这个方法第一次运行时工作正常.但随后的调用是在发生错误时.
当self.bgColor被设置为上下文填充颜色时,似乎会发生错误.有趣的...如果我在那条线之前创建了bgColor,那么事情就会奏效.但就目前而言,bgColor是在初始化此类(displayLayer方法的容器)时创建的.
-(void)displayLayer:(CALayer *)caLayer
{
UIGraphicsBeginImageContext(caLayer.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, self.bgColor);
CGContextFillRect(context, CGRectMake(0, 0, 320, 25));
[self drawText:context];
// get image buffer
UIImage *imageBuffer = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// set layer contents to image buffer
caLayer.contents = (id)[imageBuffer CGImage];
}
Run Code Online (Sandbox Code Playgroud) 是否可以在Win32上使用套接字而不是防火墙可能会阻塞您正在使用的端口?
在Unix中,您可以使用IF_UNIX而不是IF_INET(即命名管道而不是套接字).现在在Windows中,您可以使用不同的协议打开套接字:
socket(AF_INET, SOCK_RAW, IPPROTO_TCP); //open an IPv4 socket
socket(AF_BTH, SOCK_RAW, BTHPROTO_RFCOMM); //open a Bluetooth socket
socket(AF_NETBIOS, SOCK_RAW, IPPROTO_TCP); //open an IPX/SPX socket
socket(AF_INET6, SOCK_RAW, IPPROTO_TCP); //open an IPv6 socket
Run Code Online (Sandbox Code Playgroud)
有没有办法打开命名管道套接字?例如(假设构造)
socket(AF_NAMEDPIPE, SOCK_RAW, IPPROTO_TCP); //open a named pipe socket
Run Code Online (Sandbox Code Playgroud) 我正在使用一个库,该库将其部分状态呈现为SVG文档.
我想在Windows窗体或WPF环境中呈现它.目前有办法做到这一点吗?
如果没有,我可以修改库以使用更一般的渲染策略,然后添加XML适配器以恢复原始功能,但这不是我的首选策略.
我是IOC容器的新手并且学习Ninject.我使用的是从Github新下载的2.0版本.
我正在尝试在默认构造函数也存在时在构造函数上设置字符串参数.我一直在逐步完成Ninject源代码,但我对用于轻松查明我缺少的模式的模式不够熟悉.
这是我的测试控制台应用程序:
static void Main(string[] args)
{
IKernel kernel = new StandardKernel();
kernel.Bind<ITestClass>().To<TestClass>()
.WithConstructorArgument("message", "Hello World!");
var testClass = kernel.Get<ITestClass>();
// Does not work either:
//var testClass = kernel.Get<ITestClass>(new ConstructorArgument("message", "Hello World!"));
testClass.DisplayMessage();
Console.ReadLine();
}
}
public interface ITestClass
{
void DisplayMessage();
}
public class TestClass : ITestClass
{
public TestClass()
{
this.message = "Wrong message :(";
}
private string message;
public TestClass(string message)
{
this.message = message;
}
public void DisplayMessage()
{
Console.WriteLine(this.message);
}
Run Code Online (Sandbox Code Playgroud)
代码在控制台上打印"错误信息:(".如果我删除了TestClass中的默认构造函数,我会得到"Hello World!".我在这里缺少什么?
澄清:我希望班级打印"Hello World!" …
这可能是主观的,我不知道:我有这个问题,我有点等于"这个项目用什么语言?" 问题,因为我似乎无法解决它.
我一直致力于为一个技术精湛的社区写一本关于某个领域的书(让我们说一个非常具体的物理学分支),但他们不是程序员.这是一本关于这个算法子集的书,他们日复一日地使用它们.
为此,鉴于我的观众,我一直在思索定义DSL的想法,而不是让他们学习语言X,并且从这个角度讨论算法,而不是在给定的语言或伪代码中.
那么问题是:有什么迹象表明你需要的是一个DSL,而不是一个功能库,可以从一个成熟的通用语言调用?
谢谢.
编辑:目前有利于DSL的建议:
所以; 我是一个尝试通过SICP工作的业余爱好者(它是免费的!)并且在第一章中有一个示例程序,旨在计算用美国硬币进行更改的可能方法; (change-maker 100)=> 292.它的实现类似于:
(define (change-maker amount)
(define (coin-value n)
(cond ((= n 1) 1)
((= n 2) 5)
((= n 3) 10)
((= n 4) 25)
((= n 5) 50)))
(define (iter amount coin-type)
(cond ((= amount 0) 1)
((or (= coin-type 0) (< amount 0)) 0)
(else (+ (iter amount
(- coin-type 1))
(iter (- amount (coin-value coin-type))
coin-type)))))
(iter amount 5))
Run Code Online (Sandbox Code Playgroud)
无论如何; 这是一个树递归过程,作者"留下挑战"找到一个迭代过程来解决同样的问题(即固定空间).我没有幸运得到这个或在沮丧后找到答案.我想知道这对我来说是不是一个大脑放屁,或者是作者和我搞砸了.
我正在SQL Server 2008中编写一个用户定义的函数.我知道函数不能以通常的方式引发错误 - 如果您尝试包含RAISERROR语句SQL返回:
Msg 443, Level 16, State 14, Procedure ..., Line ...
Invalid use of a side-effecting operator 'RAISERROR' within a function.
Run Code Online (Sandbox Code Playgroud)
但事实是,该函数需要一些输入,这可能是无效的,如果是,则函数可以返回没有有意义的值.那我该怎么办?
当然,我可以返回NULL,但是使用该函数的任何开发人员都很难对此进行故障排除.我也可能导致除零或类似的东西 - 这会产生错误信息,但会产生误导性信息.有什么方法可以以某种方式报告我自己的错误消息吗?
" Nokogiri:如何通过匹配文本来选择节点? "可以通过XPath来实现,但是,我正在寻找一种方法来使用与元素文本匹配的CSS选择.
PyQuery和PHPQuery可以做到这一点.是不是有一个Ruby的jQuery API库?
ruby ×2
c# ×1
c++ ×1
cin ×1
coin-change ×1
constructor ×1
dsl ×1
iphone ×1
iterator ×1
named-pipes ×1
ninject ×1
nokogiri ×1
qt-creator ×1
rendering ×1
scheme ×1
sicp ×1
sockets ×1
sql ×1
sql-server ×1
string ×1
svg ×1
t-sql ×1
winapi ×1
winforms ×1