我的意思是可用于单行。例如这个:
raku -e 'dir(".")==>say()'
Run Code Online (Sandbox Code Playgroud)
打印当前目录中的所有文件和目录。如何更新它以便它递归地工作(没有库和/或用户定义的例程)?还是不可能?
我:recursive在某处看到了提到的标志,但这不起作用:
> raku -e 'dir(".", :recursive)==>say()'
Cannot resolve caller dir(Str:D, :recursive); none of these signatures matches:
(IO(Any) $path, Mu :$test!)
(IO(Any) $path)
(Mu :$test!)
()
in block <unit> at -e line 1
Run Code Online (Sandbox Code Playgroud)
它在缺少 shell 工具(在 Windows 上)或具有不同版本/分支的常用工具的环境中可能很有用。
这不会在"Try Flow"上编译:
/* @flow */
type A = { a: number, b: string};
type B = { a: string, b: string };
const x: A = { a:1, b:'2' };
const y: B = { ...x, a: x.a.toString() }
Run Code Online (Sandbox Code Playgroud)
错误是:
const y: B = { ...x, a: x.a.toString() }
^ Cannot assign object literal to `y` because number [1] is incompatible with string [2] in property `a`.
References:
3: type A = { a: number, b: string};
^ [1]
4: …Run Code Online (Sandbox Code Playgroud) Raku 中是否有某种方法,当您向它传递“getter”时,会将原始列表中的项目分组在一起,而 getter 返回相同的值?
我正在寻找类似groupByScala 的东西:
@ (1 until 10).groupBy(_ % 3)
res0: Map[Int, IndexedSeq[Int]] = HashMap(0 -> Vector(3, 6, 9), 1 -> Vector(1, 4, 7), 2 -> Vector(2, 5, 8))
Run Code Online (Sandbox Code Playgroud)
或者groupBy来自 Lodash (JavaScript):
> groupBy(range(1, 10), x => x % 3)
{"0": [3,6,9], "1": [1,4,7], "2": [2,5,8]}
Run Code Online (Sandbox Code Playgroud) 我有一个包含许多字段的界面,而另一个界面包含几乎所有字段(仅少一个)。
如何在打字稿不无类型不安全的拐杖(<>,as,any,unknown和类似的)可以在一个排除对象传播领域(不使列举的每个字段我想复制)?
interface A {
fieldA: number;
fieldB: string;
fieldC: number;
fieldD: string;
fieldE: number;
fieldF: string;
}
interface B {
fieldA: number;
fieldB: string;
fieldC: number;
fieldD: string;
fieldE: number;
// no fieldF here
}
const a: A = {
fieldA: 1,
fieldB: 'b',
fieldC: 3,
fieldD: 'd',
fieldE: 5,
fieldF: 'f'
}
const b: B = {
...a,
fieldF: undefined
};
Run Code Online (Sandbox Code Playgroud)
这不会编译,因为 fieldF 仍然存在,只有undefined.
我的意思是反向应用运算符。例如在 Haskell 中它将是&:
ghci> import Data.Function ((&))\nghci> 2 & (+ 1)\n3\nRun Code Online (Sandbox Code Playgroud)\n在 Raku 中,我看到了==>feed 运算符,但这似乎不适用于 lambda?
> (* + 1)(2)\n3\n> 2 ==> (* + 1)\n===SORRY!=== Error while compiling:\nOnly routine calls or variables that can \'.push\' may appear on either side of feed operators.\n------> 2 ==> \xe2\x8f\x8f(* + 1)\nRun Code Online (Sandbox Code Playgroud)\n 例子:
type X = 'a' | 'b';
const xVals = ??? X; // ['a', 'b']
Run Code Online (Sandbox Code Playgroud)
或者相反(从所有可能值的列表中获取一个类型,该类型是数组中所有值的并集)。
我的目标是将所有可能的值仅列出一次。
重要的是,我希望保持对齐,因此字符串会从左侧被切断。我尝试过substr,但如果字符串不够长,就会崩溃。目前我有一个类似的解决方案:
> my $xs = (0..4).kv.map(-> $i, $x { ('a'..'z')[0..$i-1].join })
( a ab abc abcd)
> $xs.map({ sprintf '%3.3s', $_ }).raku
(" ", " a", " ab", "abc", "abc").Seq
Run Code Online (Sandbox Code Playgroud)
但问题是,字符串仍然从右侧而不是左侧被截断(截断的行为就像向左对齐,而不是向右对齐)。我正在寻找会返回的东西:
(" ", " a", " ab", "abc", "bcd")
Run Code Online (Sandbox Code Playgroud)
不同之处在于最后一项,其中“abcd”中的“a”应该被截断,而不是“d”。
让我们有一个以下示例类型:
interface A {
a?: number;
b: string;
}
Run Code Online (Sandbox Code Playgroud)
我的目标是有一种创建以下类型的通用方法:
interface ExpectedA {
a: number;
}
Run Code Online (Sandbox Code Playgroud)
因此,我想删除所有不可为空的字段(那些可以包含nulland/or 的undefined字段)并使那些剩余的可为空的字段不可为空。
这就是我想象的它应该如何工作:
const expA1: ExpectedA = {}; // should NOT pass
const expA2: ExpectedA = {a: 1}; // should pass
const expA3: ExpectedA = {b: ''}; // should NOT pass
const expA4: ExpectedA = {c: 0}; // should NOT pass
const expA5: ExpectedA = {a: 1, b: ''}; // should NOT pass
Run Code Online (Sandbox Code Playgroud)
这是我的非工作尝试(在评论中注释了它的作用和应该做什么):
export type ExtractNullable<T> = {
[K …Run Code Online (Sandbox Code Playgroud) 我在使用 scons 的项目中使用 CLion(仅支持 CMake)。
如何将 CMake 配置为不构建任何内容,只需运行带参数的 scons,以便 IDE 能够获取错误中的文件引用,并且我将能够轻松导航?
Edit1:
我尝试过add_custom_target(在评论中建议)这样的:
add_custom_target(game
ALL
scons p=linux bits=64
SOURCES
godot-cpp/godot_headers/android/godot_android.h
godot-cpp/godot_headers/arvr/godot_arvr.h
godot-cpp/godot_headers/gdnative/aabb.h
godot-cpp/godot_headers/gdnative/array.h
... all files from previously used add_executable (which worked with IDE)
)
Run Code Online (Sandbox Code Playgroud)
但是 IDE 找不到任何包含的文件,所以我猜我做错了什么。我也尝试COMMAND在 scons 和各种WORKING_DIRECTORY( ., src, without)之前添加,但没有成功。
由于这有效:
const f = <T extends string>(x: T) => x;
f("");
interface Dictionary<T> { [key: string]: T; }
const dict: Dictionary<number> = { a: 1 };
Run Code Online (Sandbox Code Playgroud)
我期待以下代码也能正常工作:
interface MyRecord<Key extends string, Value> { [_: Key]: Value };
Run Code Online (Sandbox Code Playgroud)
但编译器报告_:
An index signature parameter type must be 'string' or 'number'.
Run Code Online (Sandbox Code Playgroud)
改变Key extends string到Key extends string | number什么也不做(同样的错误)。
它失败的原因是什么以及如何寻找正确的解决方案?(最好不使用Any和类似。)
编辑1:
type XY = 'x' | 'y';
const myXY: XY = 'x';
const myString: string …Run Code Online (Sandbox Code Playgroud) 这是一个很大的拉取请求。大型拉取请求只能通过单独加载文件来查看。
我不在乎加载是否需要一分钟,但我强烈希望立即看到所有更改,而不必使用笨拙的替代品,例如在文件树中导航或使用下一个/上一个按钮。
对于 BitBucket 的 PR 屏幕的早期版本,可以使用 Refined BitBucket 插件,但遗憾的是,对于新的“改进的”PR 屏幕,似乎不再支持此功能。
没有AoT一切正常.但是在切换加载器之后,我收到了这个错误并且不知道如何解决它,或者究竟是什么问题.
"/xxx/src/app/app.module.ts"中NgModule"AppModule"的提供程序无效 - 只允许提供者和类型的实例,得到:[/ logx /src /app/services/login.service.service中的LoggerService .ts,LocalXtorageService在/xxx/node_modules/angular-2-local-storage/dist/local-storage.service.d.ts,WindowsService在/xxx/src/app/services/window.service.ts,? null? ,...]
相关代码来自AppModule:
import CustomHttp from './services/custom-http.service';
...
@NgModule({
...
providers: [
LocalStorageService,
WindowService,
AuthService,
LoggerService,
CustomHttp,
AuthTokenStore,
AuthService,
SchemaValidator,
AuthInterceptor,
DataService,
ErrorHelper,
FileUpload,
{provide: ErrorHandler, useClass: LoggingErrorHandler},
NonAngularDialogsHelper,
ConfirmationService,
SearchHelper,
FormHelper,
DebugHelper,
PuxApplication,
StoreUtils,
TranslationHelper,
MessagesService,
CustomValidatorsService,
GeolocationService,
SavedSearchesService,
LoggedInfoService,
BeTranslate,
CountryHelper,
SuggestionGenerators,
PrimeNgHelper,
UrlHelper,
DocumentClickService,
NavigationHelper,
BeErrorsInterceptor,
DocumentService,
ScrollHelper,
LinkDialogHelper,
HtmlUtilsService,
RouterHelperService,
StripeService,
VatExamplesService,
ContactInfoHelper,
WizardHelper,
PasswordChangingPagesHelper,
LandingPageHelper,
TrackingEventsHelper,
RfoHelper,
ReactiveFormsHelper,
LiveChatService,
CounterActions
]
...
Run Code Online (Sandbox Code Playgroud)
片段来自CustomHttp: …
该脚本在本地运行,但不在服务器上运行。
b = Watir::Browser.new :chrome, headless: true
Run Code Online (Sandbox Code Playgroud)
错误:
response.rb:69:in `assert_ok': unknown error: Chrome failed to start: exited abnormally (Selenium::WebDriver::Error::UnknownError)
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
(Driver info: chromedriver=2.45.615279 (12b89733300bd268cff3b78fc76cb8f3a7cc44e5),platform=Linux 4.9.75-29.el7.x86_64 x86_64)
from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/remote/response.rb:32:in `initialize'
from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/remote/http/common.rb:84:in `new'
from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/remote/http/common.rb:84:in `create_response'
from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/remote/http/default.rb:104:in `request'
from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/remote/http/common.rb:62:in `call'
from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/remote/bridge.rb:166:in `execute'
from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/remote/bridge.rb:99:in `create_session'
from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/remote/bridge.rb:53:in `handshake'
from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/chrome/driver.rb:49:in `initialize'
from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/selenium-webdriver-3.141.0/lib/selenium/webdriver/common/driver.rb:44:in `new' …Run Code Online (Sandbox Code Playgroud) typescript ×6
raku ×4
angular ×1
angular2-aot ×1
bitbucket ×1
c++ ×1
clion ×1
cmake ×1
flowtype ×1
javascript ×1
pull-request ×1
ruby ×1
scons ×1
watir ×1