小编Ali*_*ael的帖子

Ruby相当于Groovy的Elvis(?:)运算符?

我知道我可以没有它,但这个问题一直困扰着我.

是否有一个Ruby语言相当于Groovy的Elvis运算符(?:)?

从本质上讲,我希望能够缩短这一点

PARAM = ARGV[0] ? ARGV[0] : 'default'
Run Code Online (Sandbox Code Playgroud)

或者等价

PARAM = 'default' unless PARAM = ARGV[0]
Run Code Online (Sandbox Code Playgroud)

变成这样的事情

PARAM = ARGV[0] ?: 'default'
Run Code Online (Sandbox Code Playgroud)

ruby groovy

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

如何在Elixir中评估或执行字符串插值?

假设我使用sigil_S以下方法构造一个字符串

iex> s = ~S(#{1 + 1})
"\#{1 + 1}"
Run Code Online (Sandbox Code Playgroud)

然后我如何让Elixir评估该字符串或执行插值,就像我输入了字面值一样"#{1 + 1}"

换句话说,我该如何评价"2"呢?

我知道我可以使用EEx(例如EEx.eval_string "<%=1 + 1%>"),但我很好奇是否有办法只使用'普通'字符串插值.

string elixir string-interpolation

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

从字符串中读取,直到Android中的特定字符

我怎么能从字符串中读取数字,直到找到一个特定的字符,在我的例子中 - 一个点.

比如我有一个

String date = "18.8.2011"
int mDay = 0;
int mMonth = 0;
int mYear = 0;
Run Code Online (Sandbox Code Playgroud)

我想制作mDay = 18,mMonth = 8并且mYear = 2011- 我希望能够复制数字,直到我找到一个点.

java string android char

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

为什么"((左联合右)联合其他)"以关联方式行事?

以下要点中的代码几乎逐字逐句地从Martin Odersky的Scala课程中的功能编程原则的课程中逐字逐句解读:

https://gist.github.com/aisrael/7019350

问题发生在第38行,union在类的定义中NonEmpty:

def union(other: IntSet): IntSet =
  // The following expression doesn't behave associatively
  ((left union right) union other) incl elem
Run Code Online (Sandbox Code Playgroud)

使用给定表达式,((left union right) union other),largeSet.union(Empty)花费过多的时间量与套100层的元件或多个来完成.

当该表达式更改为时(left union (right union other)),联合操作将相对立即完成.


增加:这是一个更新的工作表,显示即使对于具有随机元素的较大集合/树,表达式((左∪右)∪其他)可以永远占用但(左∪(右∪其他))将立即完成.

https://gist.github.com/aisrael/7020867

scala

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

标签 统计

string ×2

android ×1

char ×1

elixir ×1

groovy ×1

java ×1

ruby ×1

scala ×1

string-interpolation ×1