小编Tom*_*ter的帖子

在<10行简单代码中你能做的最酷的事情是什么?帮助我激励初学者!

我正在寻找你能用几行简单代码做的最酷的事情.我敢肯定你可以在15行中用Haskell编写一个Mandelbrot集,但很难遵循.

我的目标是激发学生编程很酷.

我们知道编程很酷,因为你可以创造你想象的任何东西 - 它是最终的创意出路.我想激励这些初学者,让他们尽可能多地学习早期学习.

现在,我的理由是自私的.我正在向一个由60个半工程,半个商业专业组成的团队教授计算机简介课程; 所有新生.他们是来自贫困高中的学生.根据我以往的经验,该集团一般分为如下:一些摇滚明星,一些谁拼命和那种得到它,谁非常努力和一些几乎没有得到它,和几个谁不关心.我想尽可能多地接触这些群体.以下是我如何使用计算机程序进行教学的示例:

以下是我正在寻找的一个示例:一个单行VBS脚本让您的计算机与您通话:

CreateObject("sapi.spvoice").Speak InputBox("Enter your text","Talk it")
Run Code Online (Sandbox Code Playgroud)

我可以用它来演示操作顺序.我会展示代码,让它们玩它,然后解释说那条线上有很多东西,但计算机可以理解它,因为它知道规则.然后我会告诉他们这样的事情:

4(5*5) / 10 + 9(.25 + .75)
Run Code Online (Sandbox Code Playgroud)

你可以看到我首先需要做的是(5*5).然后我可以乘以4.现在我已经创建了对象.除以10就像调用Speak一样 - 在我有一个对象之前我不能说话,而且在我有100之前我不能分开.然后在另一边我首先创建一个InputBox,其中包含一些如何显示它的说明.当我在输入框中按Enter键时,它会评估或"返回"我输入的内容.(提示:'oooooo'发出有趣的声音)所以当我说Speak时,右边是说话的.我从InputBox中得到了它.

所以当你在一条线上做几件事时,比如:

x = 14 + y;
Run Code Online (Sandbox Code Playgroud)

你需要了解事物的顺序.首先我们添加14和y.然后我们将结果(它评估或返回的内容)放入x.

这是我的目标,在他们玩得开心的时候,有一堆很酷的例子来展示和教授课程.我在我的室友身上尝试了这个例子,虽然我可能不会将此作为第一课,但她喜欢它并学到了一些东西.

一些很酷的mathematica程序可以制作出易于理解的漂亮图形或形状,这将是很好的想法,我将研究这些.这里有一些复杂的动作脚本示例,但有点太高级,我不能教flash.你有什么其他想法?

language-agnostic introduction

406
推荐指数
33
解决办法
13万
查看次数

如何在T-SQL中的XML字符串中的属性中转义双引号?

非常简单的问题 - 我有一个属性,我想要双引号.我如何逃避它们?我试过了

  • \"
  • ""
  • \\"

我已经为所有这些变量设置了xml类型和varchar(max)的@xml变量.

 declare @xml xml --(or varchar(max) tried both)

 set @xml = '<transaction><item value="hi "mom" lol" 
    ItemId="106"  ItemType="2"  instanceId="215923801"  dataSetId="1" /></transaction>'

 declare @xh int
 exec sp_xml_preparedocument @xh OUTPUT, @xml

 insert into @commits --I declare the table, just removed it for brevity
 select
    x.*
 from openxml(@xh,'/transaction/item')
  WITH (
    dataItemId int,
     dataItemType int,
    instanceId int,
    dataSetId int,
    value varchar(max)
  ) x
Run Code Online (Sandbox Code Playgroud)

xml t-sql escaping

172
推荐指数
1
解决办法
21万
查看次数

为什么要在汇编中编程?

我对那里的所有核心低级黑客都有疑问.我在博客中遇到了这句话.我并不认为这些来源很重要(如果你真的在意,那就是Haack),因为它似乎是一个常见的陈述.

例如,许多现代3D游戏都有他们用C++和Assembly编写的高性能核心引擎.

就程序集而言 - 是用汇编编写的代码,因为你不希望编译器发出额外的指令或使用过多的字节,或者你使用的是更好的算法,你无法在C中表达(或者没有表达编译器把它们搞砸了)?

我完全明白了解低级别的东西很重要.我只想在你理解它之后理解为什么程序在汇编.

c performance assembly low-level

85
推荐指数
11
解决办法
6万
查看次数

如何从字符串中删除标点符号?

对于这个问题的30秒内希望得到答案,我特意寻找C#

但在一般情况下,删除任何语言标点符号的最佳方法是什么?

我应补充一点:理想情况下,解决方案不需要您枚举所有可能的标点符号.

相关:Python中的条带标点符号

c# string

64
推荐指数
7
解决办法
7万
查看次数

检测URL中的后退按钮/哈希值更改

我刚在http://ritter.vg上设置了我的新主页.我正在使用jQuery,但非常简单.
它使用AJAX加载所有页面 - 我将其设置为通过检测URL中的哈希来允许书签.

 //general functions
 function getUrl(u) {
      return u + '.html';
 }
 function loadURL(u)    {
      $.get(getUrl(u), function(r){
                $('#main').html(r);
           }
      );
 }
 //allows bookmarking
 var hash = new String(document.location).indexOf("#");
 if(hash > 0)
 {
      page = new String(document.location).substring(hash + 1);
      if(page.length > 1)
        loadURL(page);
      else
        loadURL('news');
 }
 else
      loadURL('news');
Run Code Online (Sandbox Code Playgroud)

但我不能让后退和前进按钮工作.

有没有办法检测何时按下后退按钮(或检测哈希值何时更改)而不使用setInterval循环?当我尝试使用.2和1秒超时时,它固定了我的CPU.

javascript navigation ajax fragment-identifier hashchange

60
推荐指数
4
解决办法
11万
查看次数

具有LIKE和IN条件的参数化查询

.Net中的参数化查询在示例中总是如下所示:

SqlCommand comm = new SqlCommand(@"
   SELECT * 
   FROM   Products 
   WHERE  Category_ID = @categoryid
", 
   conn);
comm.Parameters.Add("@categoryid", SqlDbType.Int);
comm.Parameters["@categoryid"].Value = CategoryID;
Run Code Online (Sandbox Code Playgroud)

但是我碰到了一堵砖墙试图做到以下几点:

SqlCommand comm = new SqlCommand(@"
   SELECT * 
   FROM   Products 
   WHERE  Category_ID IN (@categoryids) 
      OR  name LIKE '%@name%'
", 
   conn);
comm.Parameters.Add("@categoryids", SqlDbType.Int);
comm.Parameters["@categoryids"].Value = CategoryIDs;
comm.Parameters.Add("@name", SqlDbType.Int);
comm.Parameters["@name"].Value = Name;
Run Code Online (Sandbox Code Playgroud)

哪里

  • CategoryID是以逗号分隔的数字列表"123,456,789"(不带引号)
  • Name是一个字符串,可能带有单引号和其他错误字符

什么是正确的语法?

.net sql parameters sql-injection parameterized

47
推荐指数
3
解决办法
3万
查看次数

如何在派生类中隐藏基类公共属性

我想在我的派生类中隐藏基本公共属性(数据成员):

class Program
{
    static void Main(string[] args)
    {
        b obj = new b();
        obj.item1 = 4;// should show an error but it doent ???
    }
}

class a
{
    public int item1 {get; set;}
    public int item2 { get; set; }
}

class b : a
{
    new private int item1;
}

class c : a
{

}
Run Code Online (Sandbox Code Playgroud)

我有成员公开因为我希望成员在c类中继承,但是想要隐藏b类中的成员,我该怎么做?

我没有选择继承我想要在我的基类中的变量??? 多数民众赞成真的很糟糕,我认为ms应该为我们提供一个选项(可能是修改器)来执行此操作


编辑:

我自己找到了答案(我听到很多人告诉我这在c#中是不可能的,但你可以这样做)

我包含代码以防它有用

class Program
{
    static void Main(string[] args)
    {
        b obj = new b();
        obj.item1 = …
Run Code Online (Sandbox Code Playgroud)

c#

40
推荐指数
5
解决办法
6万
查看次数

int x = 10; x + = x--; 在.Net - 为什么?

int x = 10;
x += x--;
Run Code Online (Sandbox Code Playgroud)

在C#/ .Net中,为什么它等于它等于的?(我故意把答案留下来,所以你可以猜测,看看你是否正确)

.net c# operators

33
推荐指数
4
解决办法
3353
查看次数

SHA512优于MD5的原因

我想知道我是否可以解释资源的原因或链接,解释为什么SHA512是MD5的优秀哈希算法.

hash md5 cryptography sha512

28
推荐指数
3
解决办法
4万
查看次数

用逗号格式化数字,但保留小数

我想将数字分组为数千,但也输出,但小数位数实际上是数字.我无法弄清楚格式字符串.

 1000 => 1,000
 100000 => 100,000
 123.456 => 123.456
 100000.21 => 100,000.21
 100200.123456 => 100,200.123456
Run Code Online (Sandbox Code Playgroud)

免责声明(它并不像您想象的那样直截了当):

  • 请不要指出这个问题它没有回答我的问题
  • 请不要指向MS DN,文章没有帮助我.(如果您认为我读错了,请自己阅读并发布正确答案)
  • .ToString("n") 它不起作用,它将数字四舍五入

.net string formatting

15
推荐指数
1
解决办法
2万
查看次数