小编Pau*_*aum的帖子

如何克服JavaScript代码中缺少Perl的\ G?

在Perl中,当一个人想要对字符串进行连续解析时,可以这样做,我的$ string ="a 1#";

while () {
    if ( $string =~ /\G\s+/gc )    {
        print "whitespace\n";
    }
    elsif ( $string =~ /\G[0-9]+/gim ) {
        print "integer\n";
    }
    elsif ( $string =~ /\G\w+/gim ) {
        print "word\n";
    }
    else {
        print "done\n";
        last;
    }
}
Run Code Online (Sandbox Code Playgroud)

来源:什么时候是\正则表达式中有用的应用程序?

它产生以下输出:

whitespace
word
whitespace
integer
whitespace
done
Run Code Online (Sandbox Code Playgroud)

JavaScript(以及许多其他正则表达式)中,没有\G模式,也没有任何好的替代品.

所以我提出了一个非常简单的解决方案,符合我的目的.

<!-- language: lang-js --> 
//*************************************************
// pattmatch - Makes the PAT pattern in ST from POS
// notice the "^" use …
Run Code Online (Sandbox Code Playgroud)

javascript regex perl parsing

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

按钮在 Android Studio 3.4 的布局编辑器中不可见

尽管 Internet 上的许多教程、视频和书籍都显示baseline edit. delete constraintcycle chain mode 按钮(x,abchain按钮)位于布局编辑器中所选组件下方,我在更新的Android Studio 3.4中看不到它们。这怎么可能?我只能使用上下文菜单执行这些操作。

在此处输入图片说明

android-studio

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

如何解决“等待最后一个调试器命令完成”卡在 Android Studio 中?

我的项目在Android Studio 中。它在Windows 7 中有大约 35,000 行。我的环境更新了。我使用Kotlin而不是Java,但这并不重要。我的电脑内存很大。

Waiting until last debugger command completes在手机中调试我的应用程序时,我阅读了互联网上有关该消息的所有材料。

对我来说,调试器以正常速度工作,或者完全卡住(挂起),或者有时非常慢。

我的应用程序中有线程,但很多时候这个问题发生在任何线程之外。只是简单的代码!

我已将其作为错误发布在Google Issue TrackerJetBrains 中,包括dump fileidea.log文件。Google 已将优先级P3和严重性标记为S3(低级别)。JetBrains已经回答了我,我制作了许多转储和屏幕截图。他们声称问题只能是谷歌的。JetBrains 的定位已经过去了太多时间,但今天 (Out/2)来自 JetBrains 的Andrei Kuznetsov给了我一个建议(下面的项目f

无法解决我的问题的可能解决方法:

a)擦除所有观察变量。一点点改善。

b)擦除旧断点。这不够。

c)执行Invalidate Caches and Restart

d)取消签Enable ToString object viewSettings, Build,Execution and Deployment …

java android kotlin android-studio

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

Android Studio 4.2.2 - 为什么调试器不评估内部函数中的参数?

Android Studio 4.2.2计算局部变量和全局变量,但在内部函数内部时不计算参数函数。

在之前的版本之前,这一切都工作得很好。

fun a(p:param) {
fun b(){
var v = p+1 // Here
}
}
Run Code Online (Sandbox Code Playgroud)

假设尝试评估带有p注释的行中的 参数// HereAlt F8

评估窗口中的消息是

Cannot find the local variable 'p' with type
Run Code Online (Sandbox Code Playgroud)

这很麻烦,因为它迫使您将参数复制为每个例程中的局部变量,以便在调试器中可见。

变量 p = p

有人注意到这一点吗?有什么解决方法吗?

请注意,变量窗口显示带有前缀的参数,但它在评估$窗口中也不起作用。

我已在 JetBrains 中发布了此问题。

在此输入图像描述

debugging android android-studio

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

Kotlin 中的数组声明大小是否可以仅通过初始化来实现?

我没有找到如何在Kotlin中声明具有预定义大小的数组而不对其进行初始化。

还行吧:

lateinit var v:Array<Int>
Run Code Online (Sandbox Code Playgroud)

但我猜想不能在数组类型中指定大小。

如果需要指定尺寸。必须做的事:

var v2:Array<Int> = Array<Int>(2){5}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,向量的所有元素都等于 5

下面是一个包含类和数组的示例:

data class But(
    val fufo: Int=0,
    val tp: Int = 1 
)  
typealias  ArBut = Array<But>
data class CArray (
   var arrayC: ArBut = ArBut(2){But()}
)    
val a =   CArray(arrayOf(But(2,2),But(5,4),But(3,3)))
println(a.arrayC[2])
Run Code Online (Sandbox Code Playgroud)

有用!有趣的是,初始化不是类型的一部分,您可以将任意大小的数组放入类中,而无需进行边界检查。如果尺寸是类型规格的一部分,情况会有所不同。

现在是一个例子,使用矩阵。请注意,语法有点复杂。

data class CMatr (
   val matrC: Array<ArBut>  = Array<ArBut>(2){ArBut(0){But()}}
)    
 val m =   CMatr(arrayOf( arrayOf(But(2,2),But(5,4)),   
         arrayOf(But(-2,2),But(3,4)), arrayOf(But(1,1),But(5,3))  ))
 println(m.matrC[2][1])  // Also works! 
Run Code Online (Sandbox Code Playgroud)

是否不可能将大小放入数组类型规范中,或者我遗漏了一些东西?

arrays kotlin

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

标签 统计

android-studio ×3

android ×2

kotlin ×2

arrays ×1

debugging ×1

java ×1

javascript ×1

parsing ×1

perl ×1

regex ×1