小编Dav*_*les的帖子

从RxJava Observable <List <T >>填充JavaFX TableView

我有一个Observable<List<T>>我想要显示的TableView<T>.

似乎JavaFx中应该有一个库函数将RxJava Observable<List<T>>转换为JavaFx ObservableList<T>,但是如果有的话,我找不到它(尽管在RxJavaFx中有很多支持用于其他方式).

我是否需要编写自己的ObservableListBase<T>实现和自己的实现ListChangeListener.Change,或者有更好的方法吗?

我应该只更换批发的物品吗?

TableView<T> table = ...
Observable<List<T>> observable = ...

observable
  .observeOn(JavaFxScheduler.platform())
  .subscribe(updatedList -> {
    ObservableList<T> items = table.getItems();
    items.setAll(updatedList);
  });
Run Code Online (Sandbox Code Playgroud)

java javafx-8 rx-javafx rx-java2

6
推荐指数
0
解决办法
241
查看次数

从任意哈希初始化Ruby类,但只有具有匹配访问器的键

有没有一种简单的方法来列出已在Ruby类中设置的访问器/阅读器?

class Test
  attr_reader :one, :two

  def initialize
    # Do something
  end

  def three
  end
end

Test.new
=> [one,two]
Run Code Online (Sandbox Code Playgroud)

我真正想要做的是允许初始化接受具有任意数量属性的哈希,但只提交已经定义了读者的哈希.就像是:

def initialize(opts)
  opts.delete_if{|opt,val| not the_list_of_readers.include?(opt)}.each do |opt,val|
    eval("@#{opt} = \"#{val}\"")
  end
end
Run Code Online (Sandbox Code Playgroud)

还有其他建议吗?

ruby class

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

Intellij IDEA中的匈牙利符号

我必须对使用匈牙利表示法的遗留代码(以及匈牙利语系统)进行一些维护.不幸的是,从代码库中清除它是不切实际的.

本地Eclipse用户声称可以配置Eclipse,以便自动生成的访问器和诸如忽略匈牙利前缀的东西(这可能是他们能够与他们共存这么久的原因).

IDEA 10.5中是否有类似的功能?如果'找到用法' m_sInstruction足够智能,可以意识到这getInstruction()是一个吸气剂,并给我'你想搜索存取器吗?' 例如,提示,或者如果'生成getter和setter'可以告诉该类已经为几乎所有字段提供了它们.

intellij-idea hungarian-notation

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

如何访问随附的ruby模块中的类变量?

我需要知道所包含的ruby模块是否可以访问类变量。可以说:

require 'bar'

class Foo

 @i_am_important

  Bar.do_stuff

end

Module Bar
  def Bar.do_stuff
    @i_am_important.stuff...
  end
end
Run Code Online (Sandbox Code Playgroud)

有没有办法使上述工作?

编辑:改进示例,edit2:解决问题

我只是改变了方法:Bar变成了自己的一个类,并且在初始化时获得了“ i_am_important”的传递。可能不是最好的解决方案,但最终会奏效。感谢您的帮助。

ruby variables module

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

Python相当于PHP mysql_fetch_array

我想在MySQL中获取一个数组.有人可以告诉我如何使用MySQLdb使用Python吗?

例如,这就是我想用Python做的事情:

<?php

  require_once('Config.php'); 

  $q = mysql_query("SELECT * FROM users WHERE firstname = 'namehere'");
  $data = mysql_fetch_array($q);
  echo $data['lastname'];

?>
Run Code Online (Sandbox Code Playgroud)

谢谢.

python mysql sql mysql-python

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

用于替代if/else/else链的选项的惯用Scala

我经常发现自己写的形式为Scala:

def foo = {
  f1() match {
    case Some(x1) => x1
    case _ =>
      f2() match {
        case Some(x2) => x2
        case _ =>
          f3() match {
            case Some(x3) => x3
            case _ =>
              f4()
          }
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

这是Java的道德等价物

Object foo() {
    Object result = f1();
    if (result != null) {
        return result;
    } else {
        result = f2();
        if (result != null) {
            return result;
        } else {
            result = f3();
            if (result != null) {
                return …
Run Code Online (Sandbox Code Playgroud)

coding-style scala optional

5
推荐指数
3
解决办法
2980
查看次数

是否有来自Rails 5的ActiveJob AsyncAdapter的Rails 4版本?

Rails的5艘同得心应手AsyncAdapter的ActiveJob。有没有办法在Rails 4.2中使用此队列适配器?

更新: 我很快创建了一个可行的要点。欢迎留言

ruby-on-rails ruby-on-rails-4 rails-activejob

5
推荐指数
0
解决办法
381
查看次数

如何使用 URL(string: , relativeTo:) 在 swift 3/4 中构建 url

我正在尝试在 swift 3 中构建一个 url,但我不明白为什么它没有正确地将字符串附加到 baseURL 输出不是我所期望的。在 swift 2 中它运行良好。

let token = "12token34"

let baseURL = URL(string: "https://api.mysite.net/map/\(token)/")

let desiredURL = URL(string: "37.8267,-122.4233", relativeTo: baseURL as URL?)
Run Code Online (Sandbox Code Playgroud)

结果

37.8267,-122.4233 -- https://api.mysite.net/map/12token34/
Run Code Online (Sandbox Code Playgroud)

我期待以下内容:

https://api.mysite.net/map/12token34/37.8267,-122.4233
Run Code Online (Sandbox Code Playgroud)

swift3 swift4

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

应用商店上的应用大小比上传的应用大小大 7 倍

当我将我的 iOS 应用上传到应用商店时,ipa 大小为32 MB。现在我的应用程序上线了,现在我在应用程序商店检查我的应用程序大小,它在 iphone 6 上显示237 MB,当我在我的 PC 上的浏览​​器中打开应用程序链接时显示252 MB大小。

为什么应用程序的大小差异如此之大。有什么建议?

app-store itunes-store ios ipa app-store-connect

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

Java 9中矢量/流数据的异步,可组合返回值

假设我有一个API,根据一些查询条件,将找到或构建一个小部件:

Widget getMatchingWidget(WidgetCriteria c) throws Throwable
Run Code Online (Sandbox Code Playgroud)

(同步)客户端代码如下所示:

try {
  Widget w = getMatchingWidget(criteria);
  processWidget(w);
} catch (Throwable t) {
  handleError(t);
}
Run Code Online (Sandbox Code Playgroud)

现在说找到或构建一个小部件是不可预测的昂贵的,我不希望客户端在等待它时阻塞.所以我把它改成:

CompletableFuture<Widget> getMatchingWidget(WidgetCriteria c)
Run Code Online (Sandbox Code Playgroud)

然后客户可以写:

CompletableFuture<Widget> f = getMatchingWidget(criteria);
f.thenAccept(this::processWidget)
f.exceptionally(t -> { handleError(t); return null; })
Run Code Online (Sandbox Code Playgroud)

要么:

getMatchingWidget(criteria).whenComplete((t, w) -> {
  if (t != null) { handleError(t); }
  else { processWidget(t); }
});
Run Code Online (Sandbox Code Playgroud)

现在,让我们说同步API可以返回0到n个小部件:

Stream<Widget> getMatchingWidgets(WidgetCriteria c)
Run Code Online (Sandbox Code Playgroud)

天真地,我可以写:

CompletableFuture<Stream<Widget>> getMatchingWidgets(WidgetCriteria c)
Run Code Online (Sandbox Code Playgroud)

然而,这实际上并没有使代码成为非阻塞,它只是推动阻塞 - Future阻塞直到所有Widgets可用的块,或者迭代遍历Stream等待每个块的块的代码Widget.我想要的是让我在每个小部件到达时处理它们的东西,例如:

void forEachMatchingWidget(WidgetCriteria c, Consumer<Widget> widgetProcessor)
Run Code Online (Sandbox Code Playgroud)

但是这不提供错误处理,即使我添加了一个额外的 …

java nonblocking rx-java reactive-streams java-9

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