标签: syntax

将块放在一行上的语法

所以我有一个像这样的Ruby方法:

def something(variable, &block)
  ....
end
Run Code Online (Sandbox Code Playgroud)

我想这样称呼它:

something 'hello' { do_it }
Run Code Online (Sandbox Code Playgroud)

除非这对我不起作用,否则我会收到语法错误.如果我这样做,它的工作原理:

something 'hello' do
  do_it
end
Run Code Online (Sandbox Code Playgroud)

除了那里,我有点想念它在一条线上的漂亮外观.

我可以看到为什么会发生这种情况,因为它可能看起来像是作为第二个变量传递的哈希,但变量之间没有逗号...但我认为必须有办法处理这个我'我失踪了.在那儿?

ruby syntax

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

为什么C++语法如此复杂?

我是编程新手,虽然我已经教自己Python大约一年了,我不久前学过C#.

这个月我在我的大学开始了C++编程课程,我只想问; "为什么C++代码如此复杂?"

写"你好世界".在Python中就像"打印'Hello world.'"一样简单,但在C++中它是:

# include <iostream>
using namespace std;

int main ()
{
    cout << "Hello world.";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我知道这可能是一个很好的理由但是,为什么......

  • ...你每次都要包括<iostream>吗?你有没有需要它?
  • ...标准库的相同问题,何时不需要std ::*?
  • ......是一个功能的"主要"部分?你有没有打电话给主要功能?为什么是整数?为什么C++需要一个main函数但Python不需要?
  • 你需要"std :: cout <<"吗?与Python相比,这不是那么漫长而复杂吗?
  • ......即使你永远不会使用它,你还需要返回0吗?

这可能是因为我正在学习这样的基本C++,但到目前为止我所做的每个程序都是这样的,所以我必须一遍又一遍地重新输入相同的代码.这不是多余的吗?编译器本身无法输入此代码,因为它总是相同的(即afaik总是包含<iostream>,std,int main,return 0)

c++ python syntax

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

当模式匹配时,括号在(x:xs)中表示什么?

当您使用x:xs语法拆分列表时,为什么它包含在括号中?圆括号的意义是什么?为什么不是[x:xs]或只是x:xs?

syntax haskell

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

一行多个当地人?

考虑以下Lua代码:

local var1, var2;
Run Code Online (Sandbox Code Playgroud)

这是var2一个局部变量吗?或者只是var1当地人?

syntax lua

26
推荐指数
2
解决办法
6782
查看次数

再出口合格?

假设你有两个模块,比如

module Foo.A where

foo = 42
Run Code Online (Sandbox Code Playgroud)

module Foo.B where

foo = 12
Run Code Online (Sandbox Code Playgroud)

你想写一个超级模块

module Foo (
      module Foo.A
    , module Foo.B
    ) where

import Foo.A
import Foo.B
Run Code Online (Sandbox Code Playgroud)

重新导出这些模块,你会得到一个名字冲突.

这有解决方案吗?

syntax haskell module

26
推荐指数
2
解决办法
3294
查看次数

在NANO中"注释"一行的键盘快捷键?

我喜欢NANO.它总是在那里,它可以切片和切块,它不是VIM!

但是我不断地打击Command /- 不经意间 -​​ 随着我的出现,出于习惯......大多数IDE使用这个约定来"评论"一条线.NANO有很好的语法突出显示..所以它知道我的文档的上下文..但我还没有找到一种方法来让它执行这个基本的,但相对重要的功能..手工评论是为鸟类.

我认为这是一个超级用户问题,但根据我的经验,这会得到一堆空白的凝视,然后有几个人问Nano是谁,所以......这里......

哦,PS,布朗尼指出任何知道如何让DashCode能够做到这一点的人......如果它可以执行这个技巧,它将是最好的Javascript IDE EVE ...而且我确信Apple省略了因为这个原因的功能,哈哈.

syntax text comments editor command-line-interface

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

这个时期是什么'.' 运营商在powershell做什么?

这很奇怪.通常当我从powershell执行外部命令时,我使用这样的&运算符:

& somecommand.exe -p somearguments
Run Code Online (Sandbox Code Playgroud)

但是,今天我遇到了这样.使用的运算符:

.$env:systemdrive\chocolatey\chocolateyinstall\chocolatey.cmd install notepadplusplus
Run Code Online (Sandbox Code Playgroud)

在这种情况下,这个时期的目的是什么?我不明白.

syntax powershell operators

26
推荐指数
3
解决办法
1万
查看次数

将`_`(即下划线)作为Dart语言函数的唯一参数传递是什么意思?

我正在学习Dart并且看到以下习语:

someFuture.then((_) => someFunc());

我也见过像这样的代码:

someOtherFuture.then(() => someOtherFunc());

这两个例子之间是否存在功能差异?Aka,_作为参数传递给Dart函数有什么作用?

鉴于Dart _用作声明私有函数的前缀,这尤其令人困惑.

谢谢.

syntax dart

26
推荐指数
3
解决办法
3483
查看次数

什么时候在C#中使用没有语句的范围?

就在最近我发现你可以在C#中做到这一点:

{
    // google
    string url = "#";

    if ( value > 5 )
        url = "http://google.com";

    menu.Add( new MenuItem(url) );
}
{
    // cheese
    string url = "#"; // url has to be redefined again, 
                      // so it can't accidently leak into the new menu item

    if ( value > 45 )
        url = "http://cheese.com";

    menu.Add( new MenuItem(url) );
}
Run Code Online (Sandbox Code Playgroud)

而不是ie:

    string url = "#";

    // google
    if ( value > 5 )
        url = "http://google.com";

    menu.Add( new MenuItem(url) …
Run Code Online (Sandbox Code Playgroud)

c# syntax block

26
推荐指数
3
解决办法
1058
查看次数

Notepad ++中的AutoHotkey语法高亮显示

我想.ahk在Notepad ++中显示AutoHotkey 脚本文件的语法高亮显示.

每次打开AHK脚本时,我都不想手动选择语言.我希望在打开文件时自动应用特定于语言的语法.

syntax autohotkey notepad++

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