问题列表 - 第14698页

为什么SEL不是Objective-C中的一个类?

在Objective-C(至少是Obj-C的Apple风味)中,为什么SEL不是一个类?这是效率问题吗?它是为了防止某种无限递归吗?是否只是没有动力让SEL上课?猜测欢迎,但如果答案是历史真相或猜测,请告诉我.

language-design objective-c

4
推荐指数
1
解决办法
291
查看次数

避免从基类继承所有东西

我在想这样的场景:

class Utopia => 一个基类,它将字段和方法传递给派生类.

class Watashi => 派生类,派生自Utopia并继承所有内容

class Baka => 派生类,从Utopia继承一些字段

上面有一些类型和类型Baka应该继承一些特定的字段和方法,但如何?我怎样才能指定只有Baka会继承的字段和方法,而Watashi从Utopia继承了一切.

示例代码:

class Utopia {
   public string Moshi;

   [Exclude(ClassName("Baka"))]
   public string HaveIt;
}

class Baka : Utopia 
{
 // only Moshi appears here
 base.[Moshi]
}

class Watashi : Utopia 
{
  base.[Moshi][HaveIt];
}
Run Code Online (Sandbox Code Playgroud)

如果我想使用多态性:

   Utopia _utopiaBaka = new Baka();
   _utop.[Moshi];

   Utopia _utopiaWatashi = new Watashi();
   _utopiaWatashi.[Moshi][HaveIt];
Run Code Online (Sandbox Code Playgroud)

当然,Framework还会检查派生类是否是其他类型的基类.

c# inheritance class

1
推荐指数
1
解决办法
3130
查看次数

为什么我只能获取网站主页的HTML而不是其他人的HTML?

我正在编写一个连接到网站的java程序,它返回HTML,由于某种原因我遇到了问题.现在我只能访问该网站

 //example     String host = "www.google.com"
Run Code Online (Sandbox Code Playgroud)

但如果我想访问一个更复杂的URL,那么我得到一个UnknownHostException.起初我以为它可能与它有关,但没有识别URL中的某些字符,但我不确定.例如,这是我尝试访问的URL之一.

host ="http://www.cyberspacei.com/englishwiz/library/name/etymology_of_first_names.htm";
int port = 80;
Socket s = new Socket(host,port)
Run Code Online (Sandbox Code Playgroud)

....等等

它除了UnknownHostException之外不会返回任何内容.

有人请帮帮我!!!

html java html-parsing

1
推荐指数
1
解决办法
185
查看次数

后增量与预增量 - Javascript优化

当我偶然发现这个名为JSpeed的项目 - Javascript优化时,我正在浏览Google Code.

我注意到优化的一个是改变i++++i在for循环语句.

优化之前

for (i=0;i<1;i++) {}

for (var i = 0, j = 0; i < 1000000; i++, j++) {
    if (i == 4) {
        var tmp = i / 2;
    }

    if ((i % 2) == 0) {
        var tmp = i / 2;
        i++;
    }
}
var arr = new Array(1000000);
for (i = 0; i < arr.length; i++) {}
Run Code Online (Sandbox Code Playgroud)

优化后

for(var i=0;i<1;++i){}
for(var i=0,j=0;i<1000000;++i,++j){if(i==4){var tmp=i>>1;}
if((i&1)==0){var tmp=i>>1;i++;}}
var arr=new Array(1000000);for(var …
Run Code Online (Sandbox Code Playgroud)

javascript optimization increment

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

当找到匹配项时,如何打印上一行和下一行空行之间的所有行?

我试图提出一个解决方案,但是徒劳无功.任何指导将不胜感激.

_data_
mascot
friend
ocean
\n
parsimon
**QUERY**
apple
\n
jujube
\n
apricot
maple
**QUERY**
rose
mahonia
\n
Run Code Online (Sandbox Code Playgroud)

....鉴于搜索关键字是QUERY,它将输出:

parsimon
**QUERY**
apple

apricot
maple
**QUERY**
rose
mahonia
Run Code Online (Sandbox Code Playgroud)

我编写的代码不能按我的意愿运行:

#!/usr/bin/perl

use strict; 
use warnings;

open my $fh, '<', 'FILE' or die "Cannot open: $!";
my @file = <$fh>;
close $fh;

for (0 .. $#file) {   # read from the first line to the last
  if($file[$_] =~ /QUERY/){  # if the contents of a particular line matches the query pattern …
Run Code Online (Sandbox Code Playgroud)

perl

0
推荐指数
1
解决办法
2185
查看次数

通过指向其派生类的指针访问类对象是否会破坏严格的别名规则?

void foobar(Base* base)
{
    Derived* derived = dynamic_cast<Derived*>(base); // or static_cast
    derived->blabla = 0xC0FFEE;
    if (base->blabla == 0xC0FFEE)
        ...
}
Run Code Online (Sandbox Code Playgroud)

在具有严格别名的编译器上,"派生"是"base"的别名吗?

c++

6
推荐指数
1
解决办法
304
查看次数

如何在我的git(windows上的msysgit)后提交脚本以python而不是bash的形式调用我的python脚本?

我在python中写了一个post commit脚本,"c:\ myfolder\myscript.py".我想从post-commit脚本调用它.这找不到:

#!/bin/sh
c:\myfolder\myscript.py
Run Code Online (Sandbox Code Playgroud)

bash认为命令c:myfoldermyscript.py - 斜线被丢弃.

所以,我尝试了正斜杠:

#!/bin/sh
c:/myfolder/myscript.py
Run Code Online (Sandbox Code Playgroud)

但是,似乎bash认为我的.py文件本身就是一个bash脚本,所以我得到了bash错误,因为它错误地试图解释它.

git bash msysgit

4
推荐指数
2
解决办法
3013
查看次数

如何在Ruby中给定URL中的base64编码媒体

我正在尝试将图像上传到PingFM.他们的文件说:

media – base64 encoded media data.
Run Code Online (Sandbox Code Playgroud)

我可以通过URL访问此图像.我试过(几乎猜到了)这个:

ActiveSupport::Base64.encode64(open("http://image.com/img.jpg"))
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

TypeError: can't convert Tempfile into String
    from /usr/lib/ruby/1.8/base64.rb:97:in `pack'
    from /usr/lib/ruby/1.8/base64.rb:97:in `encode64'
    from (irb):19
    from :0
Run Code Online (Sandbox Code Playgroud)

ruby base64 encode ruby-on-rails activesupport

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

何时使用OOP而不是Arrays

我什么时候应该使用OOP而不是数组?我的项目规模是否重要?

提供一点背景:我正在为我的朋友制作一个小程序.基本上,他希望彼此添加不同的分数,以便能够看到他的成绩.(是的,我知道有商业软件,但这也是一个有趣的练习.)无论如何,他可能不时希望程序重新计算所有分数,所以我必须阅读之前的条目.我是更熟悉数组,所以我打算使用它们,但OOP可能是一个同样好的工具.所以,基本上,我什么时候应该使用OOP?

c++ arrays oop

0
推荐指数
1
解决办法
361
查看次数

T-SQL条件更新(v2)

我有一张桌子:

Message (MessageID int, Subject nvarchar(100), Body nvarchar(max))
Run Code Online (Sandbox Code Playgroud)

在UI上更新消息后,我调用存储过程来更新该表.在某些情况下,用户可能只更新主题,在其他情况下只是正文.我希望这个存储过程仅更新已更改的内容,因此我还会传递标记,显示主题或正文是否已更新:

create proc UpdateMessage(
  @MessageID int, 
  @Subject nvarchar(100), 
  @Body nvarchar(max),
  @SubjectChanged bit,
  @BodyChanged bit)
Run Code Online (Sandbox Code Playgroud)

现在我很困惑如何构建条件UPDATE语句.我的第一个想法是使用CASE:

Update [Message] 
SET 
CASE WHEN @SubjectChanged = 1 THEN [Subject] = @Subject ELSE 1=1 END,
CASE WHEN @BodyChanged = 1 THEN Body = @Body ELSE 1=1 END,
WHERE MessageID = @MessageID
Run Code Online (Sandbox Code Playgroud)

......但这似乎不是一个正确的语法,因为CASE它必须是一个分配的右侧.

任何想法我怎么能这样做?(请记住,实际上有6个参数可以更新,而不是两个)

sql t-sql sql-server sql-update

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