x == User返回true,但case x语句不运行与之关联的块User.这里发生了什么事?
u = User.new
# => #<User:0x00000100a1e948>
x = u.class
# => User
x == User
# => true
case x
when User
puts "constant"
when "User"
puts "string"
else
puts "nothing?"
end
# => nothing?
Run Code Online (Sandbox Code Playgroud) 我有一个像List的字符串
List<string> MyList = new List<string>
{
"A-B",
"B-A",
"C-D",
"C-E",
"D-C",
"D-E",
"E-C",
"E-D",
"F-G",
"G-F"
};
Run Code Online (Sandbox Code Playgroud)
我需要从列表中删除重复,即,如果存在"AB"和"BA",那么我只需要保留"AB"(第一个条目)
所以结果就像
"A-B"
"C-D"
"C-E"
"D-E"
"F-G"
Run Code Online (Sandbox Code Playgroud)
有没有办法用LINQ做到这一点?
这似乎是一个非常容易的问题,但是我无法弄明白,也无法在其他任何地方找到解决方案.我正在连接一个%内的字符串,由于某种原因,它在%之后添加了数字25.有人知道这个简单问题的解决方案吗?
String buttonCheck = "%26" + DATABASE.getValue("buttonCheck") + "%26";
Run Code Online (Sandbox Code Playgroud)
出来吧
"%2526value%2526"
Run Code Online (Sandbox Code Playgroud)
编辑:很明显,问题实际上是在URL编码中,我将在问题中添加更多相关数据.
我正在开发一个Android应用程序,它从一个站点解析HTML,并允许用户通过Android UI与它进行交互.我在将%编码到表单的参数时遇到问题.
public class CLASS extends Activity
{
DefaultHttpClient client = new DefaultHttpClient;
String url = "http://www.url.com"
HttpRequestBase method = new HttpPost(url);
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add("buttoncheck", "%26" + DATABASE.getValue("buttonCheck") + "%26");
//DATABASE is simply a class that handles a HashMap
HttpPost methodPost = (HttpPost) method;
methodPost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
execute(method);
}
Run Code Online (Sandbox Code Playgroud)
而不是发送表格的价值
buttoncheck=%26value%26
Run Code Online (Sandbox Code Playgroud)
我明白了
buttoncheck=%2526value%2526
Run Code Online (Sandbox Code Playgroud) 我是C#的新手.我有一个Persons类和一个继承自Persons类的User类.我的控制台我在一个数组中输入用户.然后,我只需输入用户ID即可向用户数组中的用户添加注释.在我的Persons类中,我有这个函数,必须搜索此用户是否在users数组中.
public static Persons FindPerson(Persons[] persons, int noteid)
{
foreach (Persons person in persons)
if (person.ID == noteid) return person;
return null;
}
Run Code Online (Sandbox Code Playgroud)
在我的User类中,我有一个函数循环id的整个输入,直到它获得users数组中的id.
public static User SelectUser(User[] users)
{
while (true)
{
Console.Write("Please enter the User id: ");
string input = Console.ReadLine();
int id;
if (int.TryParse(input, out id))
{
Persons person = Persons.FindPerson(users, id);
if (person != null) return person; // fail on "return person"
}
Console.WriteLine("The User does not exist. Please try again.");
}
}
Run Code Online (Sandbox Code Playgroud)
一切正常,但我现在在if语句中的"return person"上收到此错误消息.
无法将类型'UserCustomerNotes.Persons'隐式转换为'UserCustomerNotes.User'.存在显式转换(您是否错过了演员?) …
我使用Tinymce编辑器创建一些内容.我使用textarea来获取tinymce编辑器.
对于编辑,我使用了这段代码
<textarea id="page_content_id" name="page_content"><?php echo $page_content;?></textarea>
Run Code Online (Sandbox Code Playgroud)
所以保存的值将在微小的mce编辑器中.如果我在编辑器中添加一些东西,我怎样才能在javascript中获取值
document.getElementById("page_content_id").value
Run Code Online (Sandbox Code Playgroud)
这不会给出新的价值.我怎样才能获得全部价值.
根据这个网站
http://www.cplusplus.com/reference/clibrary/cstdlib/qsort/
Run Code Online (Sandbox Code Playgroud)
我做了以下程序,对字符串进行排序
#include <cstdlib>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char list[5][4]={"dat","mai","lik","mar","ana"};
int main(int argc, char *argv[])
{
int x;
puts("sortirebamde:");
for (x=0;x>sizeof(list)/sizeof(char);x++)
printf("%s\n",list[x]);
qsort(&list,(sizeof(list)/sizeof(char)),sizeof(list[0]),strcmp);
system("PAUSE");
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误
13 C:\Documents and Settings\LIBRARY\Desktop\string_sortireba.cpp invalid conversion from `int (*)(const char*, const char*)' to `int (*)(const void*, const void*)'
13 C:\Documents and Settings\LIBRARY\Desktop\string_sortireba.cpp initializing argument 4 of `void qsort(void*, size_t, size_t, int (*)(const void*, const void*))'
Run Code Online (Sandbox Code Playgroud)
请帮忙
我正在尝试制作多人网络游戏.每个玩家在屏幕上用矩形表示.我正在使用OpenGL作为图形,并且用户输入(MOVE-LEFT,MOVE-RIGHT等命令)将由它(或GLUT或sumthing)处理.
我有以下游戏架构.
游戏中有4个玩家(节点).每个播放器都使用UDP发送和接收数据.每个玩家都可以将数据发送给任何其他玩家.
如果来自相应用户的任何输入,则需要由玩家发送数据.(例如MOVE-LEFT命令等).每当玩家(比如说p1)接收到来自任何其他玩家的任何数据(比如p2)(比如屏幕上玩家p2的新位置),玩家p1的屏幕应立即更新.
我正在考虑以下几行:创建一个线程来处理图形.使用UDP创建另外2个线程,每个线程用于接收和发送数据.
每当图形线程从用户获得"myposition"的输入时,它就会更新共享的全局变量'myposition'.正在等待此变量的网络发送线程被激活,并告诉其他所有玩家新的位置.
类似地,每当从任何其他玩家"i"接收到"位置"更新时,网络接收线程更新全局变量播放器[i] .position.图形线程现在将使用更新的位置重绘场景.
这个设计是否正确.如果是,这个设计有多好,我怎样才能改进它
当比较大于int和整数常数的类型时,我应该将常量放在左侧还是右侧以确保执行正确的比较?
int64_t i = some_val;
if (i == -1)
Run Code Online (Sandbox Code Playgroud)
或应该是:
if (-1 == i)
Run Code Online (Sandbox Code Playgroud)
是否有在其中任一种情况下是不相同的与比较任何情况下-1LL(其中,int64_t是long long)?
如何通过单击关闭按钮或页面刷新或通常导致onbeforeunload导致的事件来确定是否导致onbeforeunload?
这是一个片段:
window.onbeforeunload = function( e ){
if( !e ) e = window.event;
// insert code to determine which is the source of the event
}
Run Code Online (Sandbox Code Playgroud)
请帮我.
在C#中,是否可以在float上执行ToString并在不使用指数的情况下获取值?
例如,请考虑以下事项:
float dummy;
dummy = 0.000006F;
Console.WriteLine(dummy.ToString());
Run Code Online (Sandbox Code Playgroud)
这给出了输出
6E-06
Run Code Online (Sandbox Code Playgroud)
但是,我的意思是
0.000006
Run Code Online (Sandbox Code Playgroud)
我能找到的最接近的是使用"F"限定符,但是我需要指定小数位数,否则值将被舍入.
实际上是否有一种自动执行此操作的方法,或者我需要加载一些时髦的逻辑来修剪零或计算出所需的小数位数.
谢谢;
理查德莫斯