Warning: Some posts on this platform may contain adult material intended for mature audiences only. Viewer discretion is advised. By clicking ‘Continue’, you confirm that you are 18 years or older and consent to viewing explicit content.
Thank you. That’s what I get for writing a drawn-out shitpost program on my phone over several hours while away from home, instead of in a few minutes in vim.
Speaking of, Vim is actually quite easy to set up on Android. Simply download Termux from F-Droid (the version of Termux on Google Play is severely out of date) and pkg install vim (or nvim if you prefer). (Also, full aarch64 linux terminal on non-rooted Android, woo!) Using Vim with an onscreen keyboard is agonizing, of course, but it does work (Termux provides the Ctrl and Esc keys). The F-Droid app Unexpected Keyboard is a recommended addition – it’s an alternative on-screen keyboard with no predictive text and swiping to the corners of each key for alternate symbols. It makes using Vim on a touchscreen at least moderately less painful.
This person misunderstands a beautiful function code can be very sexy or maybe I’m a odd girl.
var LogicGate = map[string]string{ "OR": "OR", "AND": "AND", "NOT": "NOT", "NOR": "NOR", "NAND": "NOR", "XOR": "XOR", } func isLogicGate(inString string) (bool) { _, ok := LogicGate[strings.ToUpper(inString)] if ok { return true } else { return false } } func stringAsGateLogic(inString string) (bool, error) { inSplit := strings.Split(inString, " ") var phrase1 strings.Builder var phrase2 stringa.Builder var gateString string for word := range inSplit { if isLogicGate(word) { if len(gateString) < 1{ gateString = word } else { phrase2.WriteString(word) } } else { if len(gateString) < 1{ phrase1.WriteString(word) } else { phrase2.WriteString(word) } } } boolPhrase1 := bool(phrase1.String()) boolPhrase2 := bool(phrase2.String()) switch strings.ToUpper(gateString) { case "OR": return (boolPhrase1 || boolPhrase2), nil case "AND": return (boolPhrase1 && boolPhrase2), nil case "NOT": return (!boolPhrase2), nil case "NOR": return (!(boolPhrase1 || boolPhrase2)), nil case "NAND": return (!(boolPhrase1 && boolPhrase2) case "XOR": orRes := (boolPhrase1 || boolPhrase2) nandRes := (!(boolPhrase1 && boolPhrase2)) return (orRes && nandRes), nil default: return false, fmt.Errorf("Why you do dis?: %v", inString) } } func main(){ answer, err := stringAsGateLogic ("This person misunderstands a beautiful function code can be very sexy or maybe I'm a odd girl.") if err != nil { fmt.Println(err) } fmt.Println(answer) }
Sorry, Hungarian notation is not beautiful.
Fair.
if ok { return true } else { return false }
Why?
Idiomatic Go way of checking for the presence of a key in a map.
You make want to cry, when are we marrying?
I want a divorce
Sorry, merge conflict :(
isLogicGate is not used. Maybe you mean to place it in “isGate” in the stringAsGateLogic for loop’s if statement?
Thank you. That’s what I get for writing a drawn-out shitpost program on my phone over several hours while away from home, instead of in a few minutes in vim.
Speaking of, Vim is actually quite easy to set up on Android. Simply download Termux from F-Droid (the version of Termux on Google Play is severely out of date) and
pkg install vim
(ornvim
if you prefer). (Also, full aarch64 linux terminal on non-rooted Android, woo!) Using Vim with an onscreen keyboard is agonizing, of course, but it does work (Termux provides the Ctrl and Esc keys). The F-Droid app Unexpected Keyboard is a recommended addition – it’s an alternative on-screen keyboard with no predictive text and swiping to the corners of each key for alternate symbols. It makes using Vim on a touchscreen at least moderately less painful.From one odd girl to another, I think both can be true