I'm trying to make a data type in Haskell that will only match lowercase chars, but not uppercase chars. I'm looking for something like this:
data LowerChar = [a..z]
Run Code Online (Sandbox Code Playgroud) 首先,我知道有类似的问题.然而,这个问题的答案对我没有帮助.
我有以下代码:
boolean result = fields[x][y + 1].getRing().getPlayer() == player || fields[x][y - 1].getRing().getPlayer() == player || fields[x + 1][y].getRing().getPlayer() == player || fields[x - 1][y].getRing().getPlayer() == player
Run Code Online (Sandbox Code Playgroud)
该代码应该检查当前播放器上方,下方或旁边是否存在当前播放器的响铃.
我试图通过使用lambda表达式使这些代码更具可读性,但我无法做到正确.不过,我不确定这是否可行.
我试图用fields[x][y]变量替换field然后field变成了fields[x][y+1], fields[x][y-1], fields[x+1][y], fields[x-1][y]
boolean result = field.getRing().getPlayer() == player -> field = {fields[x][y+1], fields[x][y-1], fields[x+1][y], fields[x-1][y]};
Run Code Online (Sandbox Code Playgroud)
但这给了我一个语法错误,这是我所期望的,因为field = {fields[x][y+1], fields[x][y-1], fields[x+1][y], fields[x-1][y]};将字段设置为数组,并且不会迭代该数组.
有什么办法可以使用lambda表达式缩短代码吗?
我正试图用TUI做一个小游戏.TUI应该有一个get()方法,该方法应该将a String question和return类型作为参数,因此您可以使用它来请求对象.
例如,get("What is your name?", String)应该返回一个String并且get("What color do you want?", Color)应该返回一个Color.
这就是我想出来的:
public interface View {
public <T> T get(String question, Class<T> type) throws InputException;
}
public class TUI implements View {
public Color get(String question, Class<Color> type) {
// code
}
public String get(String question, Class<String> type) {
// code
}
}
Color color = Game.getView().get("What piece do you want to place?", Color.class);
Run Code Online (Sandbox Code Playgroud)
不幸的是,这些方法TUI不被接受为公共实现 …
我正在尝试使按钮具有两个功能:
function bigfont()
{var font_is_small = true
if (font_is_small = true)
{document.getElementById('one').className=
document.getElementById('one').className.replace("font1","font2");
document.getElementById('two').className=
document.getElementById('two').className.replace("font1","font2");
document.getElementById('three').className=
document.getElementById('three').className.replace("font1","font2");
document.getElementById('four').className=
document.getElementById('four').className.replace("font3","font4");
font_is_small = true;}
if(font_is_small = false)
{document.getElementById('one').className=
document.getElementById('one').className.replace("font2","font1");
document.getElementById('two').className=
document.getElementById('two').className.replace("font2","font1");
document.getElementById('three').className=
document.getElementById('three').className.replace("font2","font1");
document.getElementById('four').className=
document.getElementById('four').className.replace("font4","font3");
font_is_small = true;}}
Run Code Online (Sandbox Code Playgroud)
但是变量不会改变。有人可以帮我吗?
我正在研究一种方法,如果密码匹配,应该将客人检查到房间.该方法还应返回该房间.
public Room checkIn(String password, String guestName) {
assert (guestName != null);
if (this.password.testWord(password) && roomList.stream().allMatch(r -> r.getGuest().getName() != guestName)) {
roomList.forEach(r -> {
if (r.getGuest() == null) {
new Guest(guestName).checkin(r);
return r;
}
});
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
Eclipse给出了一个关于在forEach()方法内返回的错误,因为forEach()不应返回任何内容.我正试图让checkIn()方法返回房间.有什么方法可以做到这一点吗?