小编Rog*_*ach的帖子

有没有办法在构建时自动替换.java文件中的模式?

我希望能够在构建时替换.java文件中的特定模式.实际上,我只想替换某些String值来表示构建时间.(我还想保留原始源文件).有没有办法轻松完成(除了手动方式)?我使用NetBeans作为我的IDE.

java netbeans replace build

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

这次行动的好名字是什么?

我看到Scala标准库错过了获取集合中对象范围的方法,它满足谓词:

def <???>(p: A => Boolean): List[List[A]] = {
  val buf = collection.mutable.ListBuffer[List[A]]()
  var elems = this.dropWhile(e => !p(e))
  while (elems.nonEmpty) {
    buf += elems.takeWhile(p)
    elems = elems.dropWhile(e => !p(e))
  }
  buf.toList
}
Run Code Online (Sandbox Code Playgroud)

这种方法有什么好名字?我的实施是否足够好?

scala

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

为什么Unit是其他任何类型的超类型?

这是一个例子:

$ scala
Welcome to Scala 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_112).
Type in expressions for evaluation. Or try :help.

scala> val a: Unit = 1
<console>:11: warning: a pure expression does nothing in statement position; you may be omitting necessary parentheses
       val a: Unit = 1
                     ^
a: Unit = ()
Run Code Online (Sandbox Code Playgroud)

在Scala文档中:

There is only one value of type Unit, ()
Run Code Online (Sandbox Code Playgroud)

为什么Scala编译器默默地将值强制转换为Unit?

一点上下文:我使用Future[Unit]类型来描述一些不返回任何内容的过程.由于Future[Unit]现在实际上是一个子类型Unit,我得到了一些有趣的错误(someFuture.map(a => Future(a))默默地跳过调用操作而不是给出编译警告).我应该使用什么作为一种不会返回任何有意义结果的操作?

scala

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

盒子布局的问题

我正在尝试使用scala.swing包为我的gui's.在此之前,我使用普通的GroupLayout(手写它:),但scala方式似乎更好.我遇到了一些问题 - 我喜欢BoxLayout,但是当我尝试添加几个窗格,并尝试指定不同的水平对齐时,我得到一些奇怪的东西.

这是代码:

new Frame {
  contents = new BoxPanel(Orientation.Vertical) {
    contents += new Button("A") {
      xLayoutAlignment = 1.0f
    }
    contents += new Button("B")
    size = (200, 200)
  }
  size = (200, 200)
  visible = true
  peer.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)
}
Run Code Online (Sandbox Code Playgroud)

至少,我希望看到按钮B左侧的按钮A.这是我看到的:

在此输入图像描述

这段代码的Java版本完全一样,所以它不是scala.swing的bug.

我究竟做错了什么?

java layout user-interface swing scala

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

Scala演员的问题

为什么这不起作用?

scala> actor { loop { receive {
     | case s:String => s + " :)"
     | }}}
res0: scala.actors.Actor = scala.actors.Actor$$anon$1@2d382988

scala> res0 !? "hello"
... and it hangs here ...
Run Code Online (Sandbox Code Playgroud)

scala actor

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

如何为emacs纯文本主模式覆盖缩进功能?

我试着在临时缓冲区中跟随:

(defun r-text-indent ()
  (interactive)
  (indent-line-to 4)) ;; 4 is just for example

(setq indent-line-function 'r-text-indent)
Run Code Online (Sandbox Code Playgroud)

评估那些制作的临时缓冲区缩进所有4个空格.但所有其他缓冲区都不受影响.

如何在所有纯文本缓冲区中使用此功能?

emacs elisp

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

Java中键盘事件的奇怪行为

当我按下"Delete"键盘上的按钮,程序得到三个事件- KEY_PRESSED,KEY_TYPEDKEY_RELEASED.问题是,in KEY_PRESSEDKEY_RELEASED,参数"keyCode"设置,但KEY_TYPED它不是(事实上,在那个事件中没有有意义的信息).使用F5密钥,它甚至更有趣 - KEY_PRESSED并且KEY_RELEASED已注册,但KEY_TYPED从未发生过.

听众被添加了Toolkit.getDefaultToolkit().addAWTEventListener().使用JDK 6.26.

可能是我的问题?

编辑:以下Delete是按下键时发生的事件:

 java.awt.event.KeyEvent[KEY_PRESSED,keyCode=127,keyText=Delete,keyChar=Delete,keyLocation=KEY_LOCATION_STANDARD,rawCode=119,primaryLevelUnicode=127,scancode=0] on javax.swing.JButton[,0,0,61x30,alignmentX=0.0,alignmentY=0.5,border=javax.swing.plaf.synth.SynthBorder@50f38cf0,flags=288,maximumSize=,minimumSize=,preferredSize=,defaultIcon=javax.swing.ImageIcon@6ae2d0b2,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=SVG,defaultCapable=false]
 java.awt.event.KeyEvent[KEY_TYPED,keyCode=0,keyText=Unknown keyCode: 0x0,keyChar=Delete,keyLocation=KEY_LOCATION_UNKNOWN,rawCode=0,primaryLevelUnicode=127,scancode=0] on javax.swing.JButton[,0,0,61x30,alignmentX=0.0,alignmentY=0.5,border=javax.swing.plaf.synth.SynthBorder@50f38cf0,flags=288,maximumSize=,minimumSize=,preferredSize=,defaultIcon=javax.swing.ImageIcon@6ae2d0b2,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=SVG,defaultCapable=false]
 java.awt.event.KeyEvent[KEY_RELEASED,keyCode=127,keyText=Delete,keyChar=Delete,keyLocation=KEY_LOCATION_STANDARD,rawCode=119,primaryLevelUnicode=127,scancode=0] on javax.swing.JButton[,0,0,61x30,alignmentX=0.0,alignmentY=0.5,border=javax.swing.plaf.synth.SynthBorder@50f38cf0,flags=288,maximumSize=,minimumSize=,preferredSize=,defaultIcon=javax.swing.ImageIcon@6ae2d0b2,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=SVG,defaultCapable=false]
Run Code Online (Sandbox Code Playgroud)

java keyboard swing keyboard-shortcuts keylistener

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