#Why is the output different?

10 messages · Page 1 of 1 (latest)

proven sorrel
#

in NodeJS: ```js

function caeserGenerator(rawString, displacement) {
... return rawString.replace(/[a-zA-Z]/g, (char) => {
... // A - Z = 65 - 90
... // a - z = 97 - 122
... const code = char.charCodeAt(char);
... if (code < 91) {
... return String.fromCharCode(65 + ((code - 65 + displacement) % 26));
... }
... return String.fromCharCode(97 + ((code - 97 + displacement) % 26));
... });
... }
undefined
caeserGenerator("THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG", 3);
'WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ'

but in KubeJS: ```js
function caeserGenerator(rawString, displacement) {
  return rawString.replace(/[a-zA-Z]/g, (char) => {
    // A - Z = 65 - 90
    // a - z = 97 - 122
    const code = char.charCodeAt(char);
    if (code < 91) {
      return String.fromCharCode(65 + ((code - 65 + displacement) % 26));
    }
    return String.fromCharCode(97 + ((code - 97 + displacement) % 26));
  });
}

PlayerEvents.decorateChat((event) => {
  const { message } = event;

  if (message.startsWith(">caeser ")) {
    let rawString = message.match(/"(.*)"/)[1] + "";
    let displacement = +(message.match(/-d (\d+)/) || [, 3])[1];

    let feedback = caeserGenerator(rawString, displacement);
    // event.setMessage(feedback);
    console.log(`\n"${rawString}" \n+ ${displacement} \n= ${feedback}`);
  }
});

[11:01:21] [INFO] for-fun/caeser-generator.js#27:
"THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"

  • 3
    =
rugged tideBOT
#

Once your ticket has been resolved, please close it with </ticket close:1054771505520717835> command!

finite widget
#

Rhino moment?

#

are you sure all those methods are available?

proven sorrel
#
ItemEvents.rightClicked("debug_stick", (event) => {
  console.log([
    "A".charCodeAt(),
    String.fromCharCode(65)
  ])
})
``````java
[11:05:51] [INFO] for-fun/caeser-generator.js#32: A [java.lang.Character]
[11:05:51] [INFO] for-fun/caeser-generator.js#32: A
#

It seems .charCodeAt() does not work

finite widget
#

@proven sorrel what if you try charCodeAt(0)

proven sorrel
finite widget
#

@proven sorrel new String("A").charCodeAt(0)