我知道有很多"如何避免这个警告"的问题,但看起来我的第一个特定于JavaScript.在这种情况下,我想在我自己的声明中引用我正在初始化的东西,如下所示:
var foo = new Foo({
bar: new Bar({
x: function(){
doStuff(foo);
}
});
});
Run Code Online (Sandbox Code Playgroud)
(如果这看起来很熟悉,也许你以前使用过ExtJS - 这就是他们大部分内容的构建方式.)
当我调用时foo.bar.x(),我想指回foo拥有bar调用函数(x)的Bar()的Foo ().这有效,但我的Eclipse警告我"foo可能尚未初始化",引用调用doStuff();- 因为,当引擎第一次看到该行时,我们还没有完成定义foo.当然,x()除非foo构造成功,否则无法调用,但我的风格检查器显然没有想到这一点.
所以我对如何处理这个问题感到很茫然.我应该忽略这个警告吗?有没有办法将它标记为这样,所以我不再收到警告了?我做错了吗?我应该以不同的方式传递我的参考吗?
我希望能够从我的机器人初始化代码中检索我的Web应用程序的基本URL config.ru.有点像:
puts "Starting up on http://#{ENV['SERVER_NAME']}:#{ENV['SERVER_PORT']}/#{ENV['MOUNT_POINT']}..."
Run Code Online (Sandbox Code Playgroud)
但是我没有找到任何可以从请求处理程序外部获得的内容.显然,我可以这样做:
...
def get
puts "Got a request for #{ENV['rack.url_scheme']}://#{ENV['HTTP_HOST']}#{ENV['REQUEST_PATH']}"
...
Run Code Online (Sandbox Code Playgroud)
因为请求是在那时定义的.但是在我的配置文件的开头,似乎没有定义这些变量.
我可以使用Rack方法来访问这些信息吗?这是在Rack启动完成之前还没有最终确定的情况之一吗?我似乎记得其他框架有一种方法将proc传递给一个方法,一旦环境"准备好"就会执行它.Rack有类似的东西吗?
在Java中,我可以说
Thread t = new Thread(){
public void run(){ // do stuff }
}
Run Code Online (Sandbox Code Playgroud)
(或类似的东西)声明一个内联的匿名类.这对于制作事件处理程序或其他回调类型的东西非常有用,在任何合理的语言中,首先不需要对象拥有它们.
我在Jython中面临同样的问题 - 我想定义一个事件处理程序,但我不想构建一个完整的独立类来执行此操作.
理想情况下,我只能传递一个lambda并完成它,但如果这是可能的,我无法在文档中的任何地方找到它.
在Linux机器上,通用接口名称看起来像eth0,eth1等.我知道如何使用gethostbyname或类似功能找到至少一个IP地址,但我不知道如何指定哪个命名接口我想要IP地址的.我可以使用ifconfig并解析输出,但是为这些信息进行炮轰似乎......不优雅.
有没有办法将所有接口及其IP地址(以及可能的MAC地址)枚举到集合中?或者至少是某些东西gethostbyinterface("eth0")?
我的C#应用程序在系统启动时运行,必须等待本地SQL Server实例才能实际执行任何操作.现在,我只是等待服务器响应(我曾经在服务上获得等待句柄,但这不可靠),然后启动应用程序的主对话框.
当然,问题在于,在服务启动之前,用户无法告诉任何事情,而且由于我们使用的硬件可能需要一分钟.所以我想考虑某种"加载/请等待"指标.问题是,我们的项目接近锁定,并且像创建新类一样大的变化会引起很多麻烦 - 修改现有文件(如Program.cs)比创建新文件要少得多.简而言之:在我开始在SQL Server上进行plinking之前,是否有一个非常适合显示(异步,我猜)的.NET类,然后在它开始响应时被删除?
我知道我可以使用maven提取工件的javadocs(如果已添加),该工件应以JAR的形式出现(对吗?),然后可以解压缩并浏览。我的问题是,我试图找出一系列工件中的哪个具有我要寻找的特定软件包。我可以下载六个Javadoc软件包,将它们全部解压缩,然后一次打开一个索引文件,但这听起来会很不愉快。
肯定有更好的办法!我注意到Nexus支持Javadoc工件浏览,但显然仅支持Pro版本(我们没有,并且不太可能很快获得)。我宁愿使用GUI解决方案,尽管我愿意满足命令行的要求,但前提是要遵循的要求showmethedocs groupId:artifactId [version]。
预计到达时间:为了澄清:我专门在比较不同版本的工件或多个不同但相似的工件(“ foo:core”与“ foo:utils”与“ foo:extra”等)时进行比较确定什么工件确实包含我需要的包/类。也许有更好的方法可以做到,而我问错了问题?如果我将每个工件添加为Maven依赖项并检查Eclipse中的文档,则可以正常工作,但是如果存在20个工件的旧版本,而其中的一个恰好具有我要查找的方法,则可能需要一段时间。
我有一个简单的 HTML 表,它在一些随机列中使用行跨度。一个例子可能看起来像
A | B |
---|---| C
D | |
---| E |---
F | | G
Run Code Online (Sandbox Code Playgroud)
我想迭代这些行,以便将行视为A,B,C, D,E,C, then F,E,G。
我想我可能可以拼凑一些非常复杂的东西来cell.index()检查后面的行中的“丢失”列,但我想要一些更优雅的东西......
我正在使用 Angular 编写一个应用程序,并发现自己经常使用这种模式:
@Injectable(...)
export class WidgetRegsitryService {
private readonly _widgets: BehaviorSubject<Widget[]> = new BehaviorSubject([]);
public get widgets() { return this._widgets.value; }
public readonly widgets$ = this._widgets.asObservable();
public add(widget: Widget) {
const old = this._widgets.value.slice();
old.push(widget);
this._widgets.next(old);
}
}
Run Code Online (Sandbox Code Playgroud)
许多服务将有 3-5 个或更多这样的公共 getter 和私人支持主题组。它发生得太多了,以至于代码感觉非常冗长和重复。所以:a) 有没有一种干的方式来做到这一点,b) 我在这里滥用 Observables 吗?
我已经阅读了很多有关该主题错误消息的其他问题(“无法快进”),但它们似乎都不适用于我的情况。我创建一个分支 ( git checkout -b issue-215),进行更改,然后在本地提交。我推送更改,然后进行新的更改和另一个本地提交:
* 4b797d2a - (HEAD -> issue-215)
* 180a7ab5 - (origin/issue-215)
* 863ef01a - (origin/master, origin/HEAD, master)
Run Code Online (Sandbox Code Playgroud)
ETA:根据评论中的要求,输出git branch --all -v:
* issue-215 4b797d2a [ahead 1]
... other branches ...
master 863ef01a
remotes/origin/issue-215 180a7ab5
...other remotes....
remotes/origin/HEAD -> origin/master
remotes/origin/master 863ef01a
Run Code Online (Sandbox Code Playgroud)
没有新的远程更改,但 VSCode 希望在推送之前先拉取。这就是我收到此错误的地方。因此,为了排除故障,我git pull origin issue-215手动运行并获得以下输出:
$ git pull origin issue-215
From ssh://my.repo/project
* branch issue-215 -> FETCH_HEAD
fatal: Not possible to fast-forward, aborting.
Run Code Online (Sandbox Code Playgroud)
请记住,服务器上没有新的更改,并且从我当前的本地提交返回到远程分支(返回到master和origin/master)的历史记录是一条直线。我不想合并或变基,我的本地代码已经是我应该拉动的分支的直接子代。 …
所以C#现在允许你用来default(Foo)获得一个认可的"未填充"/空类的实例 - 我不确定它是否完全相同new Foo().许多库类还实现了一个Foo.Empty属性,该属性返回一个类似的实例.当然,任何参考类型都可以指向null.那真的,有什么区别?什么时候是对还是错?什么更一致,或表现更好?在检查对象在概念上是否"未准备好黄金时间"时,我应该使用哪些测试?不是每个人都有Foo.IsNullOrEmpty().
c# ×2
javascript ×2
angular ×1
constructor ×1
conventions ×1
dialog ×1
eclipse ×1
git ×1
html ×1
html-table ×1
java ×1
javadoc ×1
jython ×1
linux ×1
maven-2 ×1
observable ×1
rack ×1
ruby ×1
rxjs ×1
typescript ×1
warnings ×1
winforms ×1