标签: parentheses

改变Paredit格式

在编程模式(如C)中使用paredit时,键入(当我尝试调用函数时将在paren之前插入一个空格,让我:

foo ()
Run Code Online (Sandbox Code Playgroud)

有没有办法在不改变paredit源的情况下禁用空间的插入?

emacs parentheses paredit

10
推荐指数
2
解决办法
1643
查看次数

使用最小括号的漂亮打印AST

我正在为一个JavaScript AST实现一个漂亮的打印机,我想问一下是否有人知道一个"正确的"算法,根据运算符优先级和关联性自动用最小括号括起表达式.我没有在谷歌上找到任何有用的材料.

显而易见的是,父级具有更高优先级的运算符应该用括号括起来,例如:

(x + y) * z // x + y has lower precedence
Run Code Online (Sandbox Code Playgroud)

但是,也有一些运算符不是关联的,在这种情况下仍需要括号,例如:

x - (y - z) // both operators have the same precedence
Run Code Online (Sandbox Code Playgroud)

我想知道后一种情况的最佳规则是什么.对于除法和减法,是否足以说明,如果rhs子表达式的优先级小于或等于,则应将其括起来.

javascript compiler-construction pretty-print abstract-syntax-tree parentheses

10
推荐指数
2
解决办法
1716
查看次数

laravel - 为什么函数调用没有括号?

我在一个laravel教程中看到了这个:

Auth::user()->item;
Run Code Online (Sandbox Code Playgroud)

其中item是一个函数,在models\User.php中:

function item() { return $this->hasMany('Item', 'owner_id'); }
Run Code Online (Sandbox Code Playgroud)

其中Item是models\Item.php

那么为什么在调用item函数时不需要括号?喜欢:Auth::user()->item(); 如果我把括号括起来,浏览器会变得疯狂并崩溃.

此外,如果我将Item.php重命名为Item2.php,将类Item重命名为Item2,我这样做hasMany('Item2', 'owner_id'),它将无法工作.但为什么 ?'Item'来自哪里?

谢谢,

帕特里克

function foreign-key-relationship parentheses laravel

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

Ruby块和不带括号的参数

我提取了简单的例子:

require 'pp'
x = 1..3
pp x.map do |i| {:value => i, :double => (i*2)} end
pp x.map { |i| {:value => i, :double => (i*2)} }

pp(x.map do |i| {:value => i, :double => (i*2)} end)
pp(x.map { |i| {:value => i, :double => (i*2)} })
Run Code Online (Sandbox Code Playgroud)

我想知道为什么第一个pp产生:

[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

所有的演讲者都在给予:

[{:value=>1, :double=>2}, {:value=>2, :double=>4}, {:value=>3, :double=>6}]
Run Code Online (Sandbox Code Playgroud)

我认为它与运算符优先级有关.我在哪里可以找到好的解释?

ruby parentheses

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

C++警告:在|的操作数中建议围绕算术的括号

我有一个代码

A = B|C|D|E;
Run Code Online (Sandbox Code Playgroud)

抛出警告"在|的操作数中围绕算术建议括号"

期望表达式需要操作员的高优先级paranthesis,尝试以下方式:

A=(B|C)|(D|E);
Run Code Online (Sandbox Code Playgroud)

还有一个:

A=(((B|C)|D)|E);
Run Code Online (Sandbox Code Playgroud)

仍然存在相同的警告.

请帮我解决这个问题.

谢谢,Sujatha

B,C,D是枚举,E是整数.

c++ warnings parentheses

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

在PostgreSQL中对AND和OR条件进行分组

我总是在SQL查询中使用括号.但我有一个例子:

DELETE FROM prog 
WHERE prog_start >= $1 AND prog_start < $2
   OR prog_end > $1 AND prog_end <= $2
Run Code Online (Sandbox Code Playgroud)

它等于:

DELETE FROM prog
WHERE ( prog_start >= $1 AND prog_start < $2 )
   OR ( prog_end > $1 AND prog_end <= $2 ) 
Run Code Online (Sandbox Code Playgroud)

或不 ?

sql postgresql operator-precedence parentheses

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

绑定路径中的括号是什么意思?

最近我在MSDN上阅读了"数据绑定概述"一文,有这样的示例代码:

<TextBox.ToolTip>
  <Binding RelativeSource="{RelativeSource Self}" Path="(Validation.Errors)[0].ErrorContent"/>
</TextBox.ToolTip>
Run Code Online (Sandbox Code Playgroud)

我知道{}表示标记扩展但是这里的括号是什么意思?有人可以分享链接到解释这样的语法.谢谢!

Path="(Validation.Errors)[0].ErrorContent"
Run Code Online (Sandbox Code Playgroud)

data-binding syntax wpf xaml parentheses

9
推荐指数
3
解决办法
2425
查看次数

给定一个指针调用括号重载

我可以使用以下签名重载括号运算符:

char& operator()(const int r, const int c);
Run Code Online (Sandbox Code Playgroud)

这个用途的目的是:

// myObj is an object of type MyClass
myObj(2,3) = 'X'
char Y = myObj(2,3);
Run Code Online (Sandbox Code Playgroud)

这符合我的预期.但是,在处理指针时使用括号运算符会变得复杂.我想要做:

// pMyObj is a pointer to an object of type MyClass
pMyObj->(2,3) = 'X';
char Y = pMyObj->(2,3);
Run Code Online (Sandbox Code Playgroud)

但是,这种语法会产生错误Error: expected a member name(至少在VisualStudio中).

下面的确有效,但对于我来说,除了参数之外还有更多的括号和更多的括号.

char X = (*pMyObj)(2,3);
Run Code Online (Sandbox Code Playgroud)

有没有办法使用->运算符来调用()重载?

c++ syntax operator-overloading parentheses

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

Python中匹配括号的索引

有没有办法在字符串中获取匹配括号的索引?例如这个:

text = 'aaaa(bb()()ccc)dd'
Run Code Online (Sandbox Code Playgroud)

我想要一本带有值的字典:

result = {4:14, 7:8, 9:10}
Run Code Online (Sandbox Code Playgroud)

这意味着索引4和14上的括号是匹配的,7和8是等等.非常感谢.

python parentheses

8
推荐指数
2
解决办法
6456
查看次数

有没有办法在R studio中对匹配括号的代码进行颜色处理?

我在网上找到的所有内容都讨论了突出显示匹配的括号,但我想知道是否有一个特定的编辑器主题或者我可以用于R studio的其他东西,它将在嵌套括号内对匹配括号的代码进行着色.新R用户在这里.先感谢您.

parentheses rstudio

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